【週刊ドットインストール】 256timesのクラスを準備中、Ruby/Ruby on Railsのロードマップページを追加
【週刊ドットインストール】 考える力を養うための新クラス『データで学ぶアルゴリズム』を256timesでリリース!
create.blade.php の
<form method="POST" action="{{ route('posts.store') }}">
この部分で {{ route('posts.store') }} へアクセスしていて、 web.php で
{{ route('posts.store') }}
Route::post('/posts/store', [PostController::class, 'store']) ->name('posts.store');
こちらのルーティングが呼び出されますが、 ここでは /posts/store に接続があった場合に PostController の store メソッドが呼び出されるものだと思っていました。 ですが、問題なくこちらのルーティングからコントローラー内のメソッド(下記)が呼び出され、posts.index へリダイレクトしています。
PostController
store
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 の部分は関係なくそのルーティングを使用できるということでしょうか? 以上です。よろしくお願いします。
name
('posts.store')
ドットインストールは、3分動画でマスターできるプログラミング学習サービスです。
3分で気軽に学習でき、スマートフォンからも視聴可能です。ホームページやWebサービスの制作を通して、実践的にプログラミングを学べます。
他にも、ゲーム制作やデータ分析・機械学習・AIに使われる言語まで幅広くカバー。学びたい分野のレッスンがきっと見つかります。
この回答を見るにはプレミアムプランへの登録が必要です
create.blade.php の
この部分で
{{ route('posts.store') }}へアクセスしていて、web.php で
こちらのルーティングが呼び出されますが、
ここでは /posts/store に接続があった場合に
PostControllerのstoreメソッドが呼び出されるものだと思っていました。ですが、問題なくこちらのルーティングからコントローラー内のメソッド(下記)が呼び出され、posts.index へリダイレクトしています。
ではここでの web.php での /posts/store の /store 部分は極論必要性を感じないのですが、/store を指定する意図はなんなのでしょうか?
nameで('posts.store')を指定している場合は /posts/store の部分は関係なくそのルーティングを使用できるということでしょうか?以上です。よろしくお願いします。