2010-11-23 40 views
-1

使用Rails,它是我的新手(和RDBM)。已經閱讀了許多關於建模和關聯的文章和文章,但是可以真正使用現實檢查我對我的具體案例的看法。這是將域中的模型與每個帳戶的多個用戶相關聯的正確方法嗎?

我有3個主要模型:用戶,帳戶,計劃。這些帳戶是多用戶帳戶,所有用戶都使用該帳戶(具​​有不同的權限)。如果賬戶被銷燬,我也會取消它的用戶和計劃。

  1. 看起來像基本關聯如下。它是否正確?

用戶

屬於 - >
< - 有許多

有很多 - >
< - 屬於

計劃

  1. 是否有用戶與計劃相關聯的任何值「有許多通過」?我發現它允許像@ user.plans和@ plan.user [1]這樣的訪問,但是我不能像@ user.account.plan那樣訪問每個帳戶。

  2. 這樣的情況下,「有很多通過」的中間模式只是屬於另外兩個?我見過的所有例子都證明了這一點。在我的情況下,這是不恰當的,因爲賬戶實際上擁有另外兩個賬戶。

  3. 有沒有更好的方法來建模(一個組織的多個用戶在一組或多個計劃中工作)?

輸入非常感謝。

回答

0

您的設計是正確的。 belongs_to術語確實有點奇怪,但是合適。如果它使你的代碼更具可讀性和明顯性,使用「有很多通過」。 (換句話說,如果有計劃的用戶的概念是有意義的並且是必要的,那就繼續並創建關係。如果設想屬於一個賬戶的計劃更清楚,那麼堅持使用user.account。計劃)。

只要您不需要將用戶限制到屬於某個帳戶的計劃的子集,並且只要用戶只屬於一個帳戶,您的設計就應該足夠。

+0

非常感謝!只是我需要回到編碼的確認,並且有一個非常愉快的會議。 – skip 2010-11-24 09:52:51

相關問題