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"