Несколько ассоциаций с одной моделью

У меня есть два класса, которые я хотел бы указать следующим образом:

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, но чувствую, что это неправильный способ сделать это.

Человек может быть только президентом или вице-президентом одного клуба.

Любой, кто сможет дать небольшой совет по этому вопросу, был бы очень признателен.

Ответы на вопрос(4)

Ваш ответ на вопрос