Существует две модели: Компания и Персона:
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
, но что мне делать, если я хочу добавить еще одного человека (генерального директора) в компанию?
Как обычно, я хочу использовать company.person
и person.company
, но я тоже хочу использовать company.ceo
и ceo.company
.
В качестве опций я могу добавить company_id
к Person
или ceo_id
к Company
и установить ассоциацию own_to, но этоКстати, что несмотря на полиморфные ассоциации, которые раньше использовались
Каков наилучший опыт для такой ситуации?