hat_one mit zwei Fremdschlüsseln?

Ich habe zwei Klassen Nachricht und Benutzer. Die Nachricht enthält die sender_id und die recipient_id beider Fremdschlüssel für den Benutzer. So erstellen Sie eine Beziehung, in der ich Benutzer für Absender und Empfänger erhalten kann, z. B. @ message.sender.name und @ message.recipient.name

Ich habe versucht, es auf diese Weise zu tun:

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

Aber es hat nicht geholfen, wenn ich versuche, zum Beispiel auf @ message.recipient.name zuzugreifen, heißt es: "undefined method` name '"

Antworten auf die Frage(2)

Ihre Antwort auf die Frage