9

ルートの命名規則に一貫性を持たせたい。デフォルトのパラメーターは: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

4

3 に答える 3