此 route() 不支持 POST 方法

我有这个基本错误,但我无法修复它......我可以帮忙吗?


这是我的观点,我尝试使用令牌@csrf 以及@csrf-field 和令牌。我试着写帖子,帖子,帖子。(prat.store 运行良好,问题是更新。)


@if(isset($ModificationMode))


<form method="post" action="{{route('prat.update', $DataPraticien ?? '')}}">

    @csrf

    @else

    <form action="{{route('prat.store')}}" method="post">

        @endif


//stuff

//stuff

/lalala



@if(isset($ModificationMode))

    <button type="submit" class="btn btn-warning">Modifier Praticien</button>

    @else

    <button type="submit" class="btn btn-success">Ajouter Praticien</button>

    @endif

我的控制器:


public function update(Request $request, $id)

    {

      $ModifPrat= Praticien::find($id);


      $ModifPrat->NOM = $request->input('NOM');

      $ModifPrat->ETAT_CIVIL = $request->input('ETAT_CIVIL');

      $ModifPrat->NOTE = $request->input('NOTE');

      $ModifPrat->NOTORIETE = $request->input('NOTORIETE');

      $ModifPrat->MENBRE_ASSOCIATION = $request->input('MEMBRE_ASSOCIATION');

      $ModifPrat->DIPLOME = $request->input('DIPLOME');

      $ModifPrat->save();

       return redirect()->route('homeAdmin', auth()->id());


    }

我的路线是基本资源:


Route::resource('prat', 'PratController');

注意:变量 ModificationMode 是一种将同一页面用于两个不同任务的方法。我使用 var_dump 对其进行调试,并且变量设置良好,并且检测到了我的 prat.update。


慕村9548890
浏览 98回答 2
2回答

千万里不及你

如果要修改,请使用此<form action="/foo/bar" method="POST"> &nbsp; &nbsp;<input type="hidden" name="_method" value="PATCH"> &nbsp; &nbsp;<input type="hidden" name="_token" value="{{ csrf_token() }}"> </form>可以参考Form Method Spoofing或者Resource Controllers

米脂

查看ResourceControllers 的文档。有一个表格解释了 Laravel 如何将控制器方法映射到请求类型。基本上,您需要使用@method指令(或手动添加隐藏输入)。因此,您的表单应如下所示:<form action="{{ route('prat.update') }}" method="POST">&nbsp; &nbsp; @method('PUT')&nbsp; &nbsp; //...</form>
打开App,查看更多内容
随时随地看视频慕课网APP