【问题标题】:laravel - blank page generated on call to viewlaravel - 调用查看时生成的空白页面
【发布时间】:2016-08-12 02:23:34
【问题描述】:

我有以下路线:

       <?php
/*
|--------------------------------------------------------------------------
| Application Routes
|--------------------------------------------------------------------------
|
| Here is where you can register all of the routes for an application.
| It's a breeze. Simply tell Laravel the URIs it should respond to
| and give it the controller to call when that URI is requested.
|
*/
Route::get('/', 'PagesController@index');
Route::get('item', 'ItemController@index');
Route::get('item/create', 'ItemController@create');
Route::get('item/{id}', 'ItemController@show');

Route::get('welcome', function() {
    return view('welcome');
});
Route::group(['middleware' => 'web'], function () {
    Route::auth();

    Route::get('/home', 'HomeController@index');
});

这就是我的 Item 控制器的样子:

@section('content');
<h1>Add a  new item</h1>
<hr />
<content>
    <div class="form-group">
    {!! Form::open() !!}
        {!! Form::label('name', "Name") !!}
        {!! Form::text('name', null, ['class' => 'form-control']) !!}
    {!! Form::close() !!}
</content>

@stopttp\请求;

use App\Item;
class ItemController extends Controller
{
public function index()
{
    //fetch all items from the database
    $items = Item::All();
    return $items;
}

public function show($id) {

    $item = Item::FindOrFail($id);
}

public function create() {
    return view::make('item.create');
}

}

create.blade.php这是我的视图,位于 /resources/views/item/create.blade.php:@section('content');

添加新项目


{!!形式::open() !!} {!! Form::label('name', "Name") !!} {!! Form::text('name', null, ['class' => 'form-control']) !!} {!!形式::close() !!} @停止

我正在尝试为我正在构建的这个基于 laravel 的电子商务加载一个项目创建方法。当我访问指定页面中的路由时,我似乎无法访问 item.create 视图,加载视图时只是一个空白页面;我没有看到视图的 HTML。请帮忙?

这是我的日志文件的副本:

[2016-04-19 17:44:41] local.ERROR: exception 'InvalidArgumentException' with message 'View [articles.create] not found.' in /home/thomas/ushop/vendor/laravel/framework/src/Illuminate/View/FileViewFinder.php:137
Stack trace:
#0 /home/thomas/ushop/vendor/laravel/framework/src/Illuminate/View/FileViewFinder.php(79): Illuminate\View\FileViewFinder->findInPaths('articles.create', Array)
#1 /home/thomas/ushop/vendor/laravel/framework/src/Illuminate/View/Factory.php(165): Illuminate\View\FileViewFinder->find('articles.create')
#2 /home/thomas/ushop/vendor/laravel/framework/src/Illuminate/Foundation/helpers.php(783): Illuminate\View\Factory->make('articles.create', Array, Array)
#3 /home/thomas/ushop/app/Http/Controllers/ItemController.php(25): view('articles.create')
#4 [internal function]: App\Http\Controllers\ItemController->create()
#5 /home/thomas/ushop/vendor/laravel/framework/src/Illuminate/Routing/Controller.php(80): call_user_func_array(Array, Array)
#6 /home/thomas/ushop/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php(146): Illuminate\Routing\Controller->callAction('create', Array)
#7 /home/thomas/ushop/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php(94): Illuminate\Routing\ControllerDispatcher->call(Object(App\Http\Controllers\ItemController), Object(Illuminate\Routing\Route), 'create')
#8 [internal function]: Illuminate\Routing\ControllerDispatcher->Illuminate\Routing\{closure}(Object(Illuminate\Http\Request))
#9 /home/thomas/ushop/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(52): call_user_func(Object(Closure), Object(Illuminate\Http\Request))
#10 [internal function]: Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}(Object(Illuminate\Http\Request))
#11 /home/thomas/ushop/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(103): call_user_func(Object(Closure), Object(Illuminate\Http\Request))
#12 /home/thomas/ushop/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php(96): Illuminate\Pipeline\Pipeline->then(Object(Closure))
#13 /home/thomas/ushop/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php(54): Illuminate\Routing\ControllerDispatcher->callWithinStack(Object(App\Http\Controllers\ItemController), Object(Illuminate\Routing\Route), Object(Illuminate\Http\Request), 'create')
#14 /home/thomas/ushop/vendor/laravel/framework/src/Illuminate/Routing/Route.php(174): Illuminate\Routing\ControllerDispatcher->dispatch(Object(Illuminate\Routing\Route), Object(Illuminate\Http\Request), 'App\Http\Contro...', 'create')
#15 /home/thomas/ushop/vendor/laravel/framework/src/Illuminate/Routing/Route.php(140): Illuminate\Routing\Route->runController(Object(Illuminate\Http\Request))
#16 /home/thomas/ushop/vendor/laravel/framework/src/Illuminate/Routing/Router.php(724): Illuminate\Routing\Route->run(Object(Illuminate\Http\Request))
#17 [internal function]: Illuminate\Routing\Router->Illuminate\Routing\{closure}(Object(Illuminate\Http\Request))
#18 /home/thomas/ushop/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(52): call_user_func(Object(Closure), Object(Illuminate\Http\Request))
#19 [internal function]: Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}(Object(Illuminate\Http\Request))
#20 /home/thomas/ushop/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(103): call_user_func(Object(Closure), Object(Illuminate\Http\Request))
#21 /home/thomas/ushop/vendor/laravel/framework/src/Illuminate/Routing/Router.php(726): Illuminate\Pipeline\Pipeline->then(Object(Closure))
#22 /home/thomas/ushop/vendor/laravel/framework/src/Illuminate/Routing/Router.php(699): Illuminate\Routing\Router->runRouteWithinStack(Object(Illuminate\Routing\Route), Object(Illuminate\Http\Request))
#23 /home/thomas/ushop/vendor/laravel/framework/src/Illuminate/Routing/Router.php(675): Illuminate\Routing\Router->dispatchToRoute(Object(Illuminate\Http\Request))
#24 /home/thomas/ushop/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(246): Illuminate\Routing\Router->dispatch(Object(Illuminate\Http\Request))
#25 [internal function]: Illuminate\Foundation\Http\Kernel->Illuminate\Foundation\Http\{closure}(Object(Illuminate\Http\Request))
#26 /home/thomas/ushop/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(52): call_user_func(Object(Closure), Object(Illuminate\Http\Request))
#27 /home/thomas/ushop/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/CheckForMaintenanceMode.php(44): Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}(Object(Illuminate\Http\Request))
#28 [internal function]: Illuminate\Foundation\Http\Middleware\CheckForMaintenanceMode->handle(Object(Illuminate\Http\Request), Object(Closure))
#29 /home/thomas/ushop/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(124): call_user_func_array(Array, Array)
#30 [internal function]: Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}(Object(Illuminate\Http\Request))
#31 /home/thomas/ushop/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(32): call_user_func(Object(Closure), Object(Illuminate\Http\Request))
#32 [internal function]: Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}(Object(Illuminate\Http\Request))
#33 /home/thomas/ushop/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(103): call_user_func(Object(Closure), Object(Illuminate\Http\Request))
#34 /home/thomas/ushop/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(132): Illuminate\Pipeline\Pipeline->then(Object(Closure))
#35 /home/thomas/ushop/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(99): Illuminate\Foundation\Http\Kernel->sendRequestThroughRouter(Object(Illuminate\Http\Request))
#36 /home/thomas/ushop/public/index.php(54): Illuminate\Foundation\Http\Kernel->handle(Object(Illuminate\Http\Request))
#37 {main}  

【问题讨论】:

  • 我们可以看到视图和位置吗?
  • 这是什么版本的 Laravel?空白页意味着您需要检查服务器日志以获取错误详细信息。
  • 这是我的视图,位于 /resources/views/item/create.blade.php:@section('content');

    添加一个新项目


    {!!形式::open() !!} {!! Form::label('name', "Name") !!} {!! Form::text('name', null, ['class' => 'form-control']) !!} {!! Form::close() !!}
    @stop
  • 这是 Laravel 5。我会检查服务器日志。
  • 这是我的日志文件的内容:

标签: php laravel


【解决方案1】:

因为 laravel cache:clear 不能删除视图缓存文件,你应该自己删除它们。转到存储 -> 框架 -> 视图,然后手动删除所有生成的文件

【讨论】:

    【解决方案2】:
    1. 你说return view::make('item.create');,应该是return View::make('item.create');或者return view('item.create');

    2. 日志和代码在说不同的东西。日志谈论未找到视图 [articles.create],您的代码谈论 item.create 视图。你确定你指向正确的路由 控制器吗?也许尝试清除缓存

    【讨论】:

    • 这似乎停止了空白页结果,但我遇到了另一个错误,我要研究一下。
    • 你能给我们更多关于你的新错误的信息吗?日志?
    • 当我尝试进入项目/创建时,Laravel 抛出了一个未找到模型的错误。现在我又得到了一个空白页。这是我的错误日志
    • 现在当我尝试加载组件时,我得到一个空白页。有什么帮助吗?
    • 我看不到你的新日志,你能更新你的主帖吗?
    【解决方案3】:

    要么您更改了视图,要么您有拼写错误。日志显示未找到“articles.create”,看来您确实没有。在您的情况下,它是 item.create。

    如果是拼写错误,请使用 item.create 而不是 items

    【讨论】:

      猜你喜欢
      • 2020-08-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-06-25
      • 2017-03-24
      • 2014-02-14
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多