Две названные полиморфные ассоциации для одной модели - PullRequest
0 голосов
/ 12 марта 2011

Существует две модели: Компания и Персона:

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, но этоКстати, что несмотря на полиморфные ассоциации, которые раньше использовались

Каков наилучший опыт для такой ситуации?

...