一个模型的两个命名多态关联

时间:2011-03-12 07:26:56

标签: ruby-on-rails polymorphic-associations has-one

有两种模式:公司和人:

class Company < ActiveRecord::Base
  has_one :person, :as => :personable, :dependent => :destroy
end

class Person < ActiveRecord::Base
  has_one :company
  belongs_to :personable, :polymorphic => true
end

没关系,一家公司有一个人。我可以致电company.personperson.company,但如果我想再向公司增加一个人(CEO),我该怎么办?

像往常一样,我想使用company.personperson.company,但我也希望使用company.ceoceo.company

作为一个选项,我可以将company_id添加到Personceo_id添加到Company并设置belongs_to关联,但这是方式,尽管之前使用过多态关联。

这种情况的最佳做法是什么?

0 个答案:

没有答案