前提:
通常、新しい Ruby on Rails アプリの準備中に、ユーザー ナビゲーションに関するモデルと関係を描きます。通常、ネストの深さが 1 レベル以下であるという通常の「経験則」を超える必要があるかどうかを自問する必要がある場所に行き着きます。別の名前空間ルートを作成して作業を複製するのではなく、入れ子にする必要があると感じることがあります。
次に例を示します。
モデル:ユーザー、会社、場所
ユーザーは多くの会社を持ち、所属しています (多対多)
ユーザーは多くの場所を持ち、所属しています (多対多)
会社は多くの場所を持ち、所属しています (多対多)
ルート:
1 レベルの入れ子
users/:user_id/companies/ - ユーザーに関連するすべての会社を一覧表示します
users/:user_id/locations/ - ユーザーに関連するすべての場所を一覧表示します
2 つ以上のレベルで入れ子
users/:user_id/companies/:company_id/ location/ - ユーザーのすべての会社の場所を一覧表示します
それで、私の質問は、RoR で 1 レベル以上の深さを入れ子にすることが適切かどうかです。はい、もしくは、いいえ?なぜ?