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 '"