我正在尝试允许用户编辑他们的播放列表。但是,每当我尝试执行 PATCH 请求时,都会收到 MethodNotAllowedHttpException 错误。 (正在等待 POST)
我已经设置了 RESTful 资源 Controller :
路由.php:
Route::resource('users', 'UsersController');
Route::resource('users.playlists', 'PlaylistsController');
这应该让我可以访问:(通过php artisan 路线显示)
URI | Name | Action
PATCH users/{users}/playlists/{playlists} | users.playlists.update | PlaylistsController@update
但是,当我尝试执行以下表单时,出现 MethodNotAllowedHttpException 错误:
/users/testuser/playlists/1/edit
{{ Form::open(['route' => ['users.playlists.update', $playlist->id], 'method' => 'PATCH' ]) }}
{{ Form::text('title', $playlist->title) }}
{{ Form::close() }}
如果我删除 'method'=> 'PATCH'
我不会收到错误,但它会执行我的 public function store()
而不是我的 公共(public)函数update()
最佳答案
在 Laravel 5 及更高版本中:
<form method="POST" action="patchlink">
@method('patch')
. . .
</form>
关于Laravel 表单不会 PATCH,只会 POST - 嵌套 RESTfull Controller 、MethodNotAllowedHttpException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25857650/