在Laravel 5.2中提交表单时,MethodNotAllowedHttpException

时间:2016-11-17 06:36:08

标签: php laravel-5

我需要更新一些记录,这是我的刀片中的表单操作

<form class="form-vertical" role="form" method="post" action="/projects/{{ $project->id }}/collaborators/{{ $collaborator->user()->first()->id }}">

控制器

public function update(Request $request, $projectId, $collaboratorId)
 {
    $this->validate($request, [
            'status'  => 'required',
        ]);

        DB::table('permissions')
            ->where('project_id', $projectId)
            ->where('collaborator_id', $collaboratorId)
            ->update(['status' => $request->input('status')]);

        return redirect()->back()->with('info','Your Permission has been updated successfully');



 }

路由

Route::put('projects/{projects}/collaborators/{id}',['uses'=>'ProjectCollaboratorsController@update',]);

单击更新按钮时生成以下错误

MethodNotAllowedHttpException in RouteCollection.php line 218:

如何解决这个问题

1 个答案:

答案 0 :(得分:0)

正如@Tiger在评论中提到的那样,

  

在您的路线中,您已定义了put方法,而您的表单正在使用帖子   您应该在表单中添加隐藏输入的方法。

在打开<input type="hidden" name="_method" value="PUT">标记后添加form。如下所示:

<form class="form-vertical" role="form" method="post" action="/projects/{{ $project->id }}/collaborators/{{ $collaborator->user()->first()->id }}"

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