如何解决laravel 5.3中RouteCollection.php中的MethodNotAllowedHttpException?

时间:2017-05-02 13:54:26

标签: php laravel routes laravel-5.3

我的观点是这样的:

{!! Form::open(['route' => ['users.store.year.month', $year, $month]]) !!}                
    @include('users.fields')
{!! Form::close() !!}

我的路线是这样的:

Route::get('users/store/{year}/{month}', 'UserController@store')
        ->name('users.store.year.month');

我的控制器是这样的:

public function store(CreateTunkinRequest $request, $thang, $month)
{
    ...
    return redirect(route('users.proses', ['month' => $month, 'year' => $year]));
}

当我输入数据并保存时,会出现如下错误:

  

RouteCollection.php第218行中的MethodNotAllowedHttpException:

我该如何解决?

2 个答案:

答案 0 :(得分:1)

默认情况下使用laravel集合时,将假定POST方法,因此将表单更改为

{!! Form::open(['route' => ['users.store.year.month', $year, $month] , 'method' => 'get']) !!}

请参阅https://laravelcollective.com/docs/5.3/html#opening-a-form

答案 1 :(得分:0)

当您在POST路由上发出GET请求时,可能会收到此错误,反之亦然。您使用的是Route::get,但您的表单默认方法是POST。