我正在尝试用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;
}
感谢您的关注。我不明白问题在哪里。
答案 0 :(得分:0)
找到答案。只需在终端输入php artisan route:clear
即可。
答案 1 :(得分:0)
url
和Route::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');