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.