通过 PATCH 方法修改用户信息报错?

按照教程里面来,编辑用户资料的 保存 按钮,点击后 通过PATCH方法提交后,提示

Symfony \ Component \ HttpKernel \ Exception \ MethodNotAllowedHttpException
No message

不知道错在哪儿了,都是照着教程来,没有问题啊,求教。O(∩_∩)O谢谢

《L05 电商实战》
从零开发一个电商项目,功能包括电商后台、商品 & SKU 管理、购物车、订单管理、支付宝支付、微信支付、订单退款流程、优惠券等
《L02 从零构建论坛系统》
以构建论坛项目 LaraBBS 为线索,展开对 Laravel 框架的全面学习。应用程序架构思路贴近 Laravel 框架的设计哲学。
最佳答案

亲,查看下路由,是不是使用了这一条语句

Route::patch('/users/{user}', 'UsersController@update')->name('users.update');

查看下user/edit.blade.php中的form,教程中使用的是PUT

<input type="hidden" name="_method" value="PUT">

教程为什么没有问题呢?
因为教程的路由是如下:

Route::resource('users', 'UsersController', ['only' => ['show', 'update', 'edit']]);

我们查看下生成的路由是啥样的? php artisan route:list

| PUT|PATCH | users/{user} | users.update | App\Http\Controllers\UsersController@update

明白了吗?

解决办法:将路由中的方法与表单的action方法一致即可。

<input type="hidden" name="_method" value="PATCH">

6年前 评论
讨论数量: 1

亲,查看下路由,是不是使用了这一条语句

Route::patch('/users/{user}', 'UsersController@update')->name('users.update');

查看下user/edit.blade.php中的form,教程中使用的是PUT

<input type="hidden" name="_method" value="PUT">

教程为什么没有问题呢?
因为教程的路由是如下:

Route::resource('users', 'UsersController', ['only' => ['show', 'update', 'edit']]);

我们查看下生成的路由是啥样的? php artisan route:list

| PUT|PATCH | users/{user} | users.update | App\Http\Controllers\UsersController@update

明白了吗?

解决办法:将路由中的方法与表单的action方法一致即可。

<input type="hidden" name="_method" value="PATCH">

6年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!