首页 > 解决方案 > 尝试执行更新方法时,路由不支持 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.

我目前被困在这个上。

标签: phplaravellaravel-6

解决方案


尝试这个

<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');

推荐阅读