如何使用 Laravel 的 Route::resource 的 POST?
How do I use the POST of Laravel's Route::resource?
下面是我的 Laravel 4 项目代码。
转到 authors/create URL 并提交表单后出现 405 错误。
但是,如果我在 routes.php
文件前加上 Route::post('authors/store', 'AuthorsController@store');
,基本上是它应该做的事情的两倍,一切都像一个魅力!
为什么我需要在我的代码中添加上述行才能工作?我只能假设我在这里做错了。
routes.php:
Route::resource('authors', 'AuthorsController');
AuthorsController.php:
public function create() {
$view = View::make('authors.create');
return $view;
}
public function store() {
//
}
authors/create.树枝:
{{ form_open({'url':'authors/store'},{"method" : "post"}) }}
<p>
{{ form_label("Name", "name") }}
{{ form_text("name") }}
</p>
<p>
{{ form_submit("Add Author") }}
</p>
{{ form_close() }}
当您 POST 访问资源时,store
操作会触发。所以只是 authors
而不是 authors/store
:
{{ form_open({'url':'authors'},{"method" : "post"}) }}
有关更多信息,请参阅 this table 什么 URL 对应于什么控制器操作。
我也觉得应该是这样的:
{{ form_open({'url':'authors', 'method' : 'post'}) }}
并且你可以通过路由名称Laravel自动生成让你的生活更轻松一点:
{{ form_open({'route':'authors.store', 'method' : 'post'}) }}
哦,还有一个,post
是默认方法,因此也应该这样做:
{{ form_open({'route':'authors.store'}) }}
下面是我的 Laravel 4 项目代码。
转到 authors/create URL 并提交表单后出现 405 错误。
但是,如果我在 routes.php
文件前加上 Route::post('authors/store', 'AuthorsController@store');
,基本上是它应该做的事情的两倍,一切都像一个魅力!
为什么我需要在我的代码中添加上述行才能工作?我只能假设我在这里做错了。
routes.php:
Route::resource('authors', 'AuthorsController');
AuthorsController.php:
public function create() {
$view = View::make('authors.create');
return $view;
}
public function store() {
//
}
authors/create.树枝:
{{ form_open({'url':'authors/store'},{"method" : "post"}) }}
<p>
{{ form_label("Name", "name") }}
{{ form_text("name") }}
</p>
<p>
{{ form_submit("Add Author") }}
</p>
{{ form_close() }}
当您 POST 访问资源时,store
操作会触发。所以只是 authors
而不是 authors/store
:
{{ form_open({'url':'authors'},{"method" : "post"}) }}
有关更多信息,请参阅 this table 什么 URL 对应于什么控制器操作。
我也觉得应该是这样的:
{{ form_open({'url':'authors', 'method' : 'post'}) }}
并且你可以通过路由名称Laravel自动生成让你的生活更轻松一点:
{{ form_open({'route':'authors.store', 'method' : 'post'}) }}
哦,还有一个,post
是默认方法,因此也应该这样做:
{{ form_open({'route':'authors.store'}) }}