2010-08-11 97 views
3

我從一個小小的Rails3:MongoDB:Mongoid項目開始,並提出了一些本質更具建築性的問題。最佳實踐Mongoid:嵌套資源

何時使用嵌套資源以及嵌套有多深?

我根本不是嵌套路由的朋友,但如果不是嵌套深度超過2個資源的話,它們就變得方便了,像MongoDB這樣的面向文檔的數據庫似乎是嵌套的完美目標,因爲文檔本身是嵌套的。

所以我的第一個問題是:我應該使用嵌套路由的情況下reference_many < => referenced_in關聯?

我試過了,由於ActiveRecord的「構建」不存在,整個控制器的東西剎車變得更好,沒有嵌套,手動做所有的東西。

我錯了嗎?我是否應該嵌套這樣的協會的路線?

之後,我來到我的第一個嵌入式文檔,並自認:嘿,這需要嵌套的路線。一些迭代後,我結束了4而不是2文件,每一個都嵌入其中一個。所以嵌套的路線導致我沒有真正喜歡的URL。

因此,對已經是MongoDB的用戶的問題是:我應該嵌套嗎?如果是,在什麼情況下和多深?

電賀 J.

回答

1

我也有類似的一系列問題。 Ryan Bates在發表這篇文章後創建了一個關於Mongoid的優秀Railscast。有一節介紹了關聯和何時使用embedded_ *成語與references_ *成語。它有兩個例子。希望你有機會看看Railscast。如果不是,這裏是鏈接到相關ASCIIcast:

http://asciicasts.com/episodes/238-mongoid

一切我讀過有關嵌套資源相對於Mongoid,或ActiveRecord的規定不嵌套多深一個層次的最佳實踐。

http://weblog.jamisbuck.org/2007/2/5/nesting-resources