地铁簿的轨道模型(公司,个人,地址)

我想创建一套类似地址簿的模型来代表公司,人,位置等。这看起来非常典型的地址簿,我想知道是否有人在轨道3上已经使用ruby。问题似乎不是(仅)因为我的懒惰,但也因为“最佳实践”的方法通常很发达,有较少的陷阱等。目前我想到以下模型/领域:

公司:

  • 名称
  • has_many:人
  • has_many:位置
  • has_many:urls,:through =>:urlcatalog

    拥有URL目录的原因是可以为URL分配注释

人:

  • 名字可能会拆分为第一个中间位置
  • 电话
  • has_one:location
  • has_many:电子邮件:through =>:emailcatalog

    拥有电子邮件目录的原因与上述相同:可以为其分配“私人”,“办公室”标签。 许多手机也可以这种方式组织起来。

地点

  • 地址可选
  • has_one:city
  • has_one:country

    城市或国家应该在场

  • 名称
  • has_one:country

国家

  • 名称

欢迎任何关于这个概念,想法,工作实例等的评论!

你应该查找多态关联。 这意味着您的位置将更有条理,更容易获得父母等…

在RailsWiki上的好例子