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

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

Symfony \ Component \ HttpKernel \ Exception \ MethodNotAllowedHttpException
No message

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

《L04 微信小程序从零到发布》
从小程序个人账户申请开始,带你一步步进行开发一个微信小程序,直到提交微信控制台上线发布。
《L01 基础入门》
我们将带你从零开发一个项目并部署到线上,本课程教授 Web 开发中专业、实用的技能,如 Git 工作流、Laravel Mix 前端工作流等。
最佳答案

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

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">

7年前 评论
讨论数量: 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">

7年前 评论

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