【发布时间】:2019-10-16 20:30:30
【问题描述】:
首先,我检查了其他问题主题,但找不到解决方案。
当我尝试发布我的表单时。我收到此错误。
此路由不支持 POST 方法。支持的方法: 得到,头。
表格:
<div class="card-body">
<form action="{{route('profile.update', ['id' => $id])}}" method="post">
@csrf
@put
<div class="form-group">
<label for="location">Location</label>
<input class="form-control" type="text" name="location" value="{{$info->location}}">
</div>
<div class="form-group">
<label for="about">About</label>
<textarea name="about" id="about" rows="10" cols="50" class="form-control">{{$info->about}}</textarea>
</div>
<div class="form-control">
<p class="text-center">
<button class="btn btn-primary btn-md" type="submit">Update Your Info</button>
</p>
</div>
</form>
</div>
路线:
Route::group(["middleware" => "auth"], function(){
route::get("/profile/edit", [
"uses" => "ProfilesController@edit",
"as" => "profile.edit"
]);
route::get("/profile/{slug}", [
"uses" => "ProfilesController@index",
"as" => "profile"
]);
route::put("/profile/update/{id}", [
"uses" => "ProfilesController@update",
"as" => "profile.update"
]);
});
在控制器中:
public function update(Request $request, $id)
{
dd($request->all());
}
【问题讨论】:
-
因为你没有使用资源路由,所以你应该从你的表单中删除这个
{{ method_field('PUT') }} -
对于 REST 约定,更新资源时使用
puthttp 动词 -
@parabellum 您是否要更新现有资源?
-
@parabellum 我更新了我的遮阳篷
-
@AdityaThakur 我正在尝试更新数据库中的配置文件表
标签: laravel