ルートの命名規則に一貫性を持たせたい。デフォルトのパラメーターは:id
、すべてのリソース用です。ただし、その中に別のリソースをネストすると、親リソースの param は に変更され:parent_id
ます。私のルーティングは次のようになります。
resources :users do
resources :projects do
resources :issues
end
end
ユーザー モデルの場合は のような URL が生成さ:id
れ、プロジェクトの場合は のように:user_id/:id
なり、課題の場合は のようになります:user_id/:project_id/:id
。これに続いて、デフォルトのパラメーターをオーバーロードしようとしました
resources :users, param: :user_id do
resources :projects, param: :project_id do
resources :issues, param: :issue_id
end
end
次のような URL を生成します:user_user_id/:project_project_id/:issue_id
。私はそれをオーバーライドしているので、親リソースのデフォルトの追加がオフになっていることを望みます。ルートを次のように見せ:user_id/:project_id/:issue_id
たいし、すべてのモデルで一貫したものにしたい. つまり、プロジェクトは にマップする必要があります:user_id/:project_id
。