Laravel - 哎呀没有可用的页面

时间:2017-06-29 23:22:15

标签: php laravel laravel-5.3

我在Laravel有一个项目,我有一个链接页面。

<ul class="nav nav-second-level">
    <li>
        <a href="{{route('admin.posts.index')}}">All Posts</a>
    </li>
    <li>
        <a href="{{route('admin.posts.create')}}">Create Post</a>
    </li>
    <li>
        <a href="{{route('admin.comments.index')}}">All Comments</a>
    </li>
</ul>

我遇到的问题是当我点击链接时:

<a href="{{route('admin.posts.create')}}">Create Post</a>

我收到错误:

  

糟糕没有找到页面

这些是我的路线:

Route::group(['middleware' => 'admin', 'as' => 'admin.'], function() {

    Route::get('/admin', function(){
        return view('admin.index');
    });

    Route::get('/admin/posts/{slug}', 'AdminPostsController@post')->name('posts.post');

    Route::resource('admin/users', 'AdminUsersController');
    Route::resource('admin/posts', 'AdminPostsController');
    Route::resource('admin/categories', 'AdminCategoriesController');
    Route::resource('admin/media', 'AdminMediasController');
    Route::resource('admin/comments', 'PostCommentsController');
    Route::resource('admin/comment/replies', 'CommentRepliesController');

});

1 个答案:

答案 0 :(得分:1)

admin.posts.create路线将评估为admin/posts/create。然而,问题是这个路线定义:

Route::get('/admin/posts/{slug}', 'AdminPostsController@post')->name('posts.post');

由于此路由是在admin/posts资源路由之前定义的,因此admin/posts/createcreate资源操作不匹配,而是匹配post操作,其中{slug}操作1}}评估为&#34;创建&#34;。我猜测&#34;糟糕没有找到页面&#34;消息是您自己的错误消息,因为您的post操作不期望处理&#34;创建&#34;蛞蝓。

我认为在您的资源路由定义之后移动该路由定义(或者,至少在admin/posts资源定义之后)应该解决您的问题。