has_one con dos claves foráneas?
Tengo dos clases Mensaje y Usuario. El mensaje tiene sender_id y recipient_id ambas claves foráneas para el usuario. Cómo construir una relación en la que pueda obtener usuarios para el remitente y el destinatario, como @ message.sender.name y @ message.recipient.name
Traté de hacerlo de esta manera:
class Message < ActiveRecord::Base
belongs_to :sender, :class_name => 'User', :foreign_key => 'sender'
belongs_to :recipient, :class_name => 'User', :foreign_key => 'recipient'
end
class User < ActiveRecord::Base
has_many :recivied_messages, :class_name => 'Message', :foreign_key => 'recipient'
has_many :send_messages, :class_name => 'Message', :foreign_key => 'sender'
end
Pero no ayudó, cuando intento acceder a, por ejemplo, @ message.recipient.name dice que "nombre del método indefinido"