私はまだ Laravel 8 を調査していますが、コントローラーの store() メソッドが「定義されていません」という問題があります。
InvalidArgumentException アクション PostsController@store が定義されていません。(表示: D:\Server\htdocs\app\resources\views\posts\create.blade.php)
私は実際にそれを定義し、リソースルートを使用したと信じています。
ルート
Route::resource('posts', PostsController::class);
刃
@extends('layouts.app')
@section('content')
<h1>Create Post</h1>
{!! Form::open(['action' => 'PostsController@store', 'method' => 'POST']) !!}
<div class="form-group">
{{Form::label('title', 'Title')}}
{{Form::label('title', ['class' => 'form-control','placeholder' =>'Title'])}}
</div>
<div class="form-group">
{{Form::label('body', 'Body')}}
{{Form::textarea('body', ['class' => 'form-control','placeholder' =>'Body'])}}
</div>
{{Form::submit('Submit',['class' =>'btn btn-primary'])}}
{!! Form::close() !!}
@endsection
コントローラ
class PostsController extends Controller
{
public function create()
{
return view('posts.create');
}
public function store(Request $request)
{
$this->validate($request, [
'title' => 'required',
'body' => 'required'
]);
return 143;
}
}