我想为我的应用实现一个消息传递系统。
我有用户。
我到底该怎么办? 使用外部两个用户外键创建一个消息模型??最适合的方法是什么?
我担心的是,如果我查询“message.user”,我不知道我是否会收到邮件接收者的发件人
答案 0 :(得分:3)
使用两个具有适当命名belongs_to
关系的单独外键来区分发件人和收件人。
给定一个包含外键sender_id
和receiver_id
的消息模型,您可以这样做:
class Message < ActiveRecord::Base
belongs_to :sender, :class_name => "User", :foreign_key => "sender_id"
belongs_to :receiver, :class_name => "User", :foreign_key => "receiver_id"
end
现在,您可以使用message.sender
和接收方使用message.receiver
来引用邮件的发件人。