2011-05-26 337 views
0

我想創建類似地址簿的模型集來代表公司,人員,地點等。這看起來像是非常典型的地址簿,我想知道是否有人它已經在軌道上使用紅寶石3.這個問題似乎不是(僅)因爲我的懶惰,而且因爲「最佳實踐」方法通常發達,缺陷少等等。目前我考慮關注以下模型/領域:地址簿的軌道模型(公司,人員,地址)

公司:

  • 的has_many:人
  • 的has_many:位置
  • 的has_many:網址,:通過=>:urlcatalog

    具有URL目錄的原因是爲了音符分配給URL

的可能性Person:

  • name 也許分裂爲第一個中間的最後一個
  • 電話
  • HAS_ONE:位置
  • 的has_many:電子郵件:通過=>:emailcatalog

    有電子郵件目錄的原因是與上面相同:一個可以分配 「私人」,「辦公室「標籤。許多電話也可以這樣組織。

位置

  • 地址可選
  • HAS_ONE:城市
  • HAS_ONE:國家

    城市或國家應該存在

  • HAS_ONE:國家

國家

對這個概念,想法,工作例子等的任何評論都歡迎!

回答

0

您應該查看多態關聯。這意味着你的位置將是更好的組織,它會更容易在RailsWiki

+0

由於得到父母等等

很好的例子了,在實際應用中,我會使用多態了不少。目前我對這樣一組模型的一般設計更感興趣...... – zeliboba 2011-05-31 13:00:55