create.blade.php の
<form method="POST" action="{{ route('posts.store') }}">
この部分で {{ route('posts.store') }}
へアクセスしていて、
web.php で
Route::post('/posts/store', [PostController::class, 'store'])
->name('posts.store');
こちらのルーティングが呼び出されますが、
ここでは /posts/store に接続があった場合に PostController
の store
メソッドが呼び出されるものだと思っていました。
ですが、問題なくこちらのルーティングからコントローラー内のメソッド(下記)が呼び出され、posts.index へリダイレクトしています。
public function store(Request $request)
{
$request->validate([
'title' => 'required|min:3',
'body' => 'required',
]);
$post = new Post();
$post->title = $request->title;
$post->body = $request->body;
$post->save();
return redirect()
->route('posts.index');
}
ではここでの web.php での /posts/store の /store 部分は極論必要性を感じないのですが、/store を指定する意図はなんなのでしょうか?
name
で ('posts.store')
を指定している場合は /posts/store の部分は関係なくそのルーティングを使用できるということでしょうか?
以上です。よろしくお願いします。
この回答を見るにはプレミアムプランへの登録が必要です
プレミアムプランとは?