Rails でネストされたリソース ルートを操作しているときに気づいたことの 1 つは、子リソースが存在するルートにユーザーがアクセスすることは技術的に可能である (したがって正しく表示される) ことですが、親リソースの ID は、実際には子リソースに関連していません。
たとえば、 routeでは、に対応する投稿を行わなかったユーザーを表すusers/:user_id/post/:id
route を入力できます。:user_id
:id
ユーザーが無効な URL にアクセスした場合に、サーバーがユーザーを正しい URL にリダイレクトするようにするには、これを修正する最善の方法は何でしょうか?
これを処理するためにコントローラーにいくつかのコードを既に入れていますが、特に URL ヘルパーがアクションごとに異なるため、すべてのコントローラー アクションでパスを確認してからユーザーを適切な URL にリダイレクトする必要があるのはちょっと厄介です。
( edit_user_post_path(@user, @post)
, new_user_post_path(@user, @post)
)
もっと良い方法があるはずですよね?