方法是不允许的

时间:2016-01-24 14:09:25

标签: laravel-5.2

我正在尝试用post创建简单的表单。但是,当我提交表单时,我收到此错误 - MethodNotAllowedHttpException in RouteCollection.php line 219:

我的路线档案:

Route::get('articles', 'ArticlesController@index');
Route::get('articles/create', 'ArticlesController@create');
Route::get('articles/{id}', 'ArticlesController@show');

Route::post('articles', 'ArticlesController@store');

形式:

{!! Form::open(['url' => 'articles', 'method' => 'post']) !!}
        <div class="form-group">
            {!! Form::label('title', 'Title:') !!}
            {!! Form::text('title', null, ['class' => 'form-control']) !!}
        </div>

        <div class="form-group">
            {!! Form::label('body', 'Body:') !!}
            {!! Form::textarea('body', null, ['class' => 'form-control']) !!}
        </div>

        <div class="form-group">
            {!! Form::submit('Add article', ['class' => 'btn btn-primary form-control']) !!}
        </div>
    {!! Form::close() !!}

控制器类:

public function store(Request $request) {
        $input = $request->all();

        return $input;
    }

感谢您的关注。我不明白问题在哪里。

3 个答案:

答案 0 :(得分:0)

找到答案。只需在终端输入php artisan route:clear即可。

答案 1 :(得分:0)

urlRoute::get('articles', 'ArticlesController@index');

中的Route::post('articles', 'ArticlesController@store');相同

使用action()代替url可以解决此问题。 EX:

{!! Form::open(['action' => 'ArticlesController@store', 'method' => 'post']) !!}

答案 2 :(得分:0)

更改路线:Route::get('articles', 'ArticlesController@index'); to Route::post('articles', 'ArticlesController@index');