如果我使用以下方法,它可以正常工作。
Route::get('create', function () {
return view('post.create');
});
但是,如果我使用该资源,则会出现以下错误:
Route::resource('posts', 'PostController');
出现以下错误
RouteCollection.php第161行中的NotFoundHttpException
答案 0 :(得分:2)
因为Route::resource('posts', 'PostController');
生成了
Route::get('posts/create', 'PostController@create');
不是
Route::get('create', 'PostController@create');
这意味着您必须链接到'发布/创建'
<a href="/posts/create">New Post</a>
答案 1 :(得分:0)
您正尝试使用资源管理器创建帖子。
您的网址或路由应为posts/create
而不是posts
,因为posts
用于获取将从您的资源管理器中触发index
方法的帖子列表。
要创建,您的路线必须为posts/create
,并且它将从create
方法提交您的资源控制器。
意味着,
Route::resource('posts','PostsController'); => Route::get('posts','PostsController@index);
和
Route::resource('posts/create','PostsController'); => Route::get('posts/create','PostsController@create);
如果有效,请告诉我!