有两种模式:公司和人:
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.person
和person.company
,但如果我想再向公司增加一个人(CEO),我该怎么办?
像往常一样,我想使用company.person
和person.company
,但我也希望使用company.ceo
和ceo.company
。
作为一个选项,我可以将company_id
添加到Person
或ceo_id
添加到Company
并设置belongs_to关联,但这是方式,尽管之前使用过多态关联。
这种情况的最佳做法是什么?