猿问

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

这就是我的代码的样子


路线:


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.

我目前被困在这一点上。


宝慕林4294392
浏览 89回答 3
3回答

偶然的你

尝试这个<form action="/articles/{{$article->id}}" method="POST">&nbsp; &nbsp;<input type="hidden" name="_method" value="PUT">&nbsp; &nbsp;<input type="hidden" name="_token" value="{{ csrf_token() }}"></form>和路线Route::put('/articles/{article}', 'ArticlesController@update');

白衣染霜花

使用刀片的简单方法<form action="/articles/{{$article->id}}" method="POST">&nbsp;@method('put')&nbsp;@csrf</form>

素胚勾勒不出你

最好这样做:在路由中Route::put('/articles/{id}',&nbsp;'ArticlesController@update')->name('articles.update');在控制器中public&nbsp;function&nbsp;update(Request&nbsp;$request,&nbsp;$id){ &nbsp;&nbsp;&nbsp;//&nbsp;logic &nbsp;&nbsp;&nbsp;}不要忘记在控制器中使用 Request在刀片中最好对路线使用命名,但这可能是您操作中的问题&nbsp;&nbsp;&nbsp;<form&nbsp;method="POST"&nbsp;action="{{&nbsp;route('articles.update',&nbsp;$article->id)&nbsp;}}">
随时随地看视频慕课网APP
我要回答