【问题标题】:rails models association scenariorails 模型关联场景
【发布时间】:2011-09-22 02:19:25
【问题描述】:

users => has_many :contacts, :through => :user_contacts 联系人 => has_many :users, :through => :user_contacts

个人资料

现在对于个人资料,每个用户都有一个个人资料,但有两种访问方式,具体取决于网址。有一个公共网址和一个私人网址。公共 url 属于用户,但私有 url 属于联系人(即分配给联系人作为联系人所属用户的个人资料的私有 url)。在这种情况下,我很困惑如何处理个人资料与用户和联系人的关联。

我应该为类 Profile 等配置文件使用 STI

但如果这是有效的,我该如何管理这里的关联?

【问题讨论】:

    标签: ruby-on-rails activerecord associations models single-table-inheritance


    【解决方案1】:

    如果只使用一个 url 类型并与表中的类型区分开来呢?然后,您可以将每种类型的 url 与以下内容建立关系:

    belongs_to :private_url, :class_name => "Profiles", :conditions => "type = 0"
    belongs_to :public_url, :class_name => "Profiles", :conditions => "type = 1"
    

    这将显着“简化”您必须管理的关联。这不是我不认为的全部答案,但也许如果你能让它发挥作用,这会大大简化事情,让你的问题变得更容易解决。

    我上面的确切语法可能不正确,但你应该明白我所建议的要点......

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-03-05
      • 1970-01-01
      • 2018-10-15
      • 2012-05-23
      相关资源
      最近更新 更多