每当我尝试发布某些内容时,都会收到此错误。
create.blade.php文件:
<h1>Publish a Post</h1>
<hr>
<form method="POST" action="/posts">
{{ csrf_field() }}
<div class="form-group">
<label for="title">Title</label>
<input type="text" class="form-control" id="title" name="title">
</div>
<div class="form-group">
<label for="body">Body</label>
<textarea type="text" class="form-control" id="body" name="body"></textarea>
</div>
<button type="submit" class="btn btn-primary">Publish</button>
</form>
</div>
web.php文件:
Route::get('/', 'PostController@index');
Route::get('/posts/create', 'PostController@create');
Route::get('/posts', 'PostController@store');
PostController.php文件:
public function create()
{
return view('posts.create');
}
public function store()
{
dd(request()->all());
}
数据库架构:
public function up()
{
Schema::create('posts', function (Blueprint $table) {
$table->increments('id');
$table->string('title');
$table->text('body');
$table->timestamps();
});
}
我真的很感激任何想法,我做错了什么或如何解决这个问题。
答案 0 :(得分:3)
您的路线中未定义POST
。将您的::get
更新为您的终端的::post
。
Route::post('/posts', 'PostController@store');
答案 1 :(得分:0)
您可以向控制器注册资源丰富的路线:
Route::resource('/posts', 'PostController');