Várias associações ao mesmo modelo

Eu tenho duas classes que gostaria de especificar da seguinte maneira:

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

Isso não funciona e gera um erro ao tentar obter a associação do clube a partir do objeto pessoa. O erro é porque está procurando person_id na tabela do clube quando eu olhei para o SQL. Posso contornar isso declarando várias associações has_one, mas sinto que essa é a maneira imprópria de fazê-lo.

Uma pessoa só pode ser presidente ou vice-presidente de um clube.

Qualquer pessoa que possa oferecer alguns conselhos sobre esse assunto, eu ficaria muito agradecida.

questionAnswers(4)

yourAnswerToTheQuestion