我从一个小型 Rails3:MongoDB:Mongoid 项目开始,并提出了一些本质上更具架构性的问题。
什么时候使用嵌套资源,嵌套多深?
我根本不喜欢嵌套路由,但如果堆叠深度不超过 2 个资源,它们就会变得很方便,而且像 MongoDB 这样的面向文档的数据库似乎是嵌套的完美目标,因为文档本身是嵌套的。
所以我的第一个问题是:在 references_many <=> referenced_in 关联的情况下,我应该使用嵌套路由吗?
我试过了,因为 ActiveRecord 的“构建”不存在,所以整个 Controller 的东西都变成了看起来更好的东西,根本没有嵌套和手动完成所有的东西。
我错了吗?我是否也应该嵌套此类关联的路线?
在那之后,我看到了我的第一个嵌入式文档,并且自言自语:嘿,这需要嵌套路由。一些迭代之后,我最终得到了 4 个文档而不是 2 个文档,每个文档都嵌入到其他文档中。所以嵌套路由导致了我不太喜欢的 URL。
所以对于已经有 MongoDB 经验的用户来说,问题是:我应该嵌套吗?如果是,在什么情况下以及有多深?
问候 J.
最佳答案
我有一组类似的问题。在你发表这篇文章后,Ryan Bates 创建了一个关于 Mongoid 的优秀 Railscast。有一节介绍关联以及何时使用 embedded_* 惯用法与 references_* 惯用法。它有两者的例子。希望您有机会查看 Railscast。如果没有,这里是关联的 ASCIIcast 的链接:
http://asciicasts.com/episodes/238-mongoid
我读到的关于 Mongoid 或 ActiveRecord 的嵌套资源的所有内容都指出嵌套深度不超过一层的最佳实践。
关于mongodb - 最佳实践 Mongoid :NestedResources,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3461710/