前提:
通常在准备一个新的 Ruby on Rails 应用程序时,我会绘制有关用户导航的模型和关系。通常我会遇到一个我需要问自己的地方,我是否应该超越通常的“经验法则”,即嵌套不超过 1 级。有时我觉得需要嵌套,而不是创建另一个命名空间路由和重复工作。
这是一个例子:
模型:用户、公司、地点
用户拥有并属于许多公司(多对多)
用户拥有并属于许多地点(多对多)
公司拥有并属于许多地点(多对多)
Routes:
1 级嵌套
users/:user_id/companies/ - 列出与用户相关的所有公司
users/:user_id/locations/ - 列出与用户相关的所有位置
1 级嵌套
users/:user_id/companies/:company_id/位置/ - 列出用户的所有公司位置
所以,我的问题是在 RoR 中嵌套超过 1 层是否合适?是还是不是?为什么?