前提:
通常在准备新的Ruby on Rails应用程序时,我会绘制有关用户导航的模型和关系.通常我会去一个我需要问自己的地方,不管我是否应该超越通常的"经验法则",不再嵌套1级.有时我觉得需要嵌套,而不是创建另一个命名空间路由和复制工作.
这是一个例子:
型号:用户,公司,位置
用户拥有并且属于许多公司(多对多)
用户拥有并且属于许多地点(多对多)
公司拥有并且属于许多地点(多对多)
路由:
1级嵌套
用户/:user_id/companies/ - 列出与用户user
/:user_id/locations/相关的所有公司 - 列出与用户相关的所有位置
超过1级嵌套
用户/:user_id/companies /:company_id/locations/ - 列出用户的所有公司位置
所以,我的问题是在RoR中嵌套超过1级深度是否合适?是还是不是?为什么?
我倾向于遵循Jamis Buck的建议,并且永远不会超过一个级别.
编辑:如果您要嵌套超过1个级别,我会查看Edge中的新浅层路径功能