Laravel 表单不会 PATCH,只会 POST - 嵌套 RESTfull Controller 、MethodNotAllowedHttpException

标签 laravel laravel-4 laravel-routing

我正在尝试允许用户编辑他们的播放列表。但是,每当我尝试执行 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/

相关文章:

php - 基于很少参数的 Laravel 搜索条件

php - Laravel 4 - 表单提交以更新 MySQL 表

Laravel 5 - RouteCollection.php 第 143 行中的 NotFoundHttpException

php - Eloquent 逆关系执行无用的查询

php - 将数据从另一个表获取到 Blade foreach - Laravel

php - 如何根据另外两个表的计算从一个表中检索数据?

php - 如何添加 Auth 作为 Controller 依赖项以在 Laravel 4 中进行测试

php - Laravel Session Flash 持续 2 个请求

php - 我可以向 Laravel 中的 Route::group 添加参数,但在分派(dispatch)到 Laravel 中的路由之前将其删除吗?

php - Laravel 中的表单操作