Несколько ассоциаций с одной моделью
У меня есть два класса, которые я хотел бы указать следующим образом:
class Club < ActiveRecord::Base
belongs_to :president, :class_name => "Person", :foreign_key => "president_id"
belongs_to :vice_president,
:class_name => "Person",
:foreign_key => "vice_president_id"
end
class Person < ActiveRecord::Base
has_one :club, :conditions =>
['president_id = ? OR vice_president_id = ?', '#{self.id}', '#{self.id}']
end
Это не работает и выдает ошибку при попытке получить ассоциацию клуба от объекта person. Ошибка в том, что ищет person_id в клубной таблице, когда я смотрю на SQL. Я могу обойти это, объявив несколько ассоциаций has_one, но чувствую, что это неправильный способ сделать это.
Человек может быть только президентом или вице-президентом одного клуба.
Любой, кто сможет дать небольшой совет по этому вопросу, был бы очень признателен.