为了账号安全,请及时绑定邮箱和手机立即绑定

尝试执行更新方法时,路由不支持 PUT 方法

尝试执行更新方法时,路由不支持 PUT 方法

PHP
宝慕林4294392 2023-10-21 16:29:16
这就是我的代码的样子路线:Route::put('/articles/{$article}', 'ArticlesController@update');控制器: public function update($id){        $article=Article::find($id);        $article ->title = request('title');        $article->excerpt=request('excerpt');        $article->body=request('body');        $article->save();        return redirect('/articles/'. $article->id);    }刀刃: <form method="POST" action="/articles/{{$article->id}}" >                @csrf                @method('PUT')每次我尝试提交更新时,我都会收到以下信息:The PATCH method is not supported for this route. Supported methods: GET, HEAD.我目前被困在这一点上。
查看完整描述

3 回答

?
偶然的你

TA贡献1841条经验 获得超3个赞

尝试这个


<form action="/articles/{{$article->id}}" method="POST">

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

   <input type="hidden" name="_token" value="{{ csrf_token() }}">

</form>

和路线


Route::put('/articles/{article}', 'ArticlesController@update');


查看完整回答
反对 回复 2023-10-21
?
白衣染霜花

TA贡献1796条经验 获得超10个赞

使用刀片的简单方法


<form action="/articles/{{$article->id}}" method="POST">

 @method('put')

 @csrf

</form>


查看完整回答
反对 回复 2023-10-21
?
素胚勾勒不出你

TA贡献1827条经验 获得超9个赞

最好这样做:

  • 在路由中

Route::put('/articles/{id}', 'ArticlesController@update')->name('articles.update');
  • 在控制器中

public function update(Request $request, $id){
   // logic
   }

不要忘记在控制器中使用 Request

  • 在刀片中

最好对路线使用命名,但这可能是您操作中的问题

   <form method="POST" action="{{ route('articles.update', $article->id) }}">


查看完整回答
反对 回复 2023-10-21
  • 3 回答
  • 0 关注
  • 88 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信