php - The POST method is not supported for this route. Supported methods: GET, HEAD. Laravel
问题描述
I have a problem with my edit page. When I submit I get this error:
The POST method is not supported for this route. Supported methods: GET, HEAD.
I have no clue where it comes from as I am pretty new to Laravel.
routes(web.php):
Route::group(['middleware' => 'auth'], function () {
Route::get('/', 'ProjectController@index');
Route::get('/projects/{id}', 'ProjectController@show');
Route::post('/create','ProjectController@store');
Route::get('/create', 'ProjectController@create');
Route::get('/projects/{id}/delete', 'ProjectController@destroy');
Route::put('/edit','ProjectController@update');
Route::get('/projects/{id}/edit', 'ProjectController@edit');
});
Controller:
public function edit($id)
{
return view('project.edit',[
'project' => Project::find($id)
]);
}
/**
* Update the specified resource in storage.
*
* @param \Illuminate\Http\Request $request
* @param int $id
* @return \Illuminate\Http\Response
*/
public function update(Request $request)
{
$project = Project::find($request->id);
$project->project_name = $request->input('project_name');
$project->client = $request->input('client');
$project->description = $request->input('description');
$project->time_span = $request->input('time_span');
$project->text_report = $request->input('text_report');
$project->created_by = $request->input('created_by');
$project->save();
return redirect('/')->with('success', 'Project aangepast');
}
解决方案
有多种方法可以处理此问题:
如果您坚持使用
PUT
,您可以将表单操作更改为POST
并添加一个method_field
具有值PUT
和隐藏 csrf 字段的隐藏项(如果您使用的是刀片,那么您只需要添加@csrf_field
和{{ method_field('PUT') }}
)。这样表单将接受请求。您可以简单地将路由和表单方法更改为
POST
. 它会正常工作,因为您是定义路线而不使用资源组的人。
推荐阅读
- python - 在 python 中基于 ms 中的 13 位 unixtime 时间戳计算时间戳
- c++ - C++ 单例模板类使我的程序崩溃
- php - 查询具有相同id但反转它们的多个表列
- python - 在 matplotlib python 中操作日期时间 x 轴时出错
- sql - SQL 根据最近的日期更新记录
- android - 如何在android中接收完整的arduino字符串
- php - 如何随机化 ResourceCollection 的结果但仍然对 api 结果进行分页
- java - 为什么我在 Jsp 页面中得到空白 Json 响应?
- bash - 将多个目录复制到多个目标目录
- php - 在没有索引的数组上调用值