環境:
mac
Laravel Framework 6.18.42
PHP 7.3.11
参考:
ドキュメント
https://readouble.com/laravel/6.x/ja/redirects
routes
laravel
1Route::resource('post', 'PostController');
updateアクション
laravel
1 public function update(Request $request, $id) 2 { 3 $this->validate($request, Post::$rules); 4 $form = $request->all(); 5 unset($form['_token']); 6 $post = Post::find($id); 7 $post->fill($form)->save(); 8 return redirect()->route('post', [$post]); 9 // 10 }
showアクション
laravel
1 public function show($id) 2 { 3 $post = Post::find($id); 4 return view('posts.show', ['post'=> $post]); 5 // 6 }
リダイレクト後のエラーメッセージ
Symfony\Component\Routing\Exception\RouteNotFoundException Route [post] not defined.
検証
Request URL: http://localhost:8000/post/2 Request Method: POST Status Code: 500 Internal Server Error Remote Address: 127.0.0.1:8000 Referrer Policy: no-referrer-when-downgrade
エラーページで再読み込みすると意図したshowのビューが表示されることから、GET送信されると問題が解決されると考えました。
以下のようにIDパラメーラではなくIDを指定すると問題なくGET送信され、ビューが表示されます。
laravel
1return redirect('/post/2')
POST送信されてしまう原因を教えていただける幸いです。
また、ドキュメントなどから自己流でルーティングを組み込んでいますが、
Restful/Resourcefulなルーティングを組み込む上で、参考になる書籍、ネット記事等ありましたら、
合わせて教えていただきたいところです。
よろしくお願いします。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。