使用post方法路由异常

时间:2017-03-22 15:02:25

标签: laravel

我有一个MethodNotAllowedHttpException,带有一个post方法的按钮,它真的很奇怪,因为我和项目中的很多其他东西做了同样的过程但是这条路线不想工作。我犯了什么错误?

非常感谢朋友:)

我的路线:

Route::post('licencies_to_update/{id}', 'LicencieController@Renouveller')->name('licencie.renouveller');

这是我的刀片视图中的按钮:

{!! link_to_route('licencie.renouveller', 'Effectuer le Renouvellement' , [$licencie->id], ['class' => 'btn btn-primary']) !!}

这是我的控制器的开头:

 public function Renouveller(Request $request, $id)
    {
        $licencie = Licencies::findOrFail($id);

        dd($licencie);

...

2 个答案:

答案 0 :(得分:3)

使用:

Route::get('licencies_to_update/{id}', 'LicencieController@Renouveller') ->name('licencie.renouveller');

而不是POST方法。因为在您的按钮链接中,您不是使用POST方法而是使用GET方法请求网址。此外,您没有做与POST变量相关的任何事情。您在路由参数中传递了一个简单的变量id。所以,这里不需要使用POST param。

答案 1 :(得分:1)

您正在创建的链接是您提供的路由的锚点,但该链接是GET请求,而您在路径文件中指定您希望在该URL上发出POST请求。

创建表单或更改路由接受的方法(或让它也接受GET请求)

编辑: 将您的路线改为

Route::get('licencies_to_update/{id}', 'LicencieController@Renouveller')->name('licencie.renouveller');

让预期结果最快!