我在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');
});
答案 0 :(得分:1)
admin.posts.create
路线将评估为admin/posts/create
。然而,问题是这个路线定义:
Route::get('/admin/posts/{slug}', 'AdminPostsController@post')->name('posts.post');
由于此路由是在admin/posts
资源路由之前定义的,因此admin/posts/create
与create
资源操作不匹配,而是匹配post
操作,其中{slug}
操作1}}评估为&#34;创建&#34;。我猜测&#34;糟糕没有找到页面&#34;消息是您自己的错误消息,因为您的post
操作不期望处理&#34;创建&#34;蛞蝓。
我认为在您的资源路由定义之后移动该路由定义(或者,至少在admin/posts
资源定义之后)应该解决您的问题。