帮助rails关联

时间:2009-11-30 22:32:21

标签: ruby-on-rails activerecord associations

我想为我的应用实现一个消息传递系统。

我有用户。

我到底该怎么办? 使用外部两个用户外键创建一个消息模型??最适合的方法是什么?

我担心的是,如果我查询“message.user”,我不知道我是否会收到邮件接收者的发件人

1 个答案:

答案 0 :(得分:3)

使用两个具有适当命名belongs_to关系的单独外键来区分发件人和收件人。

给定一个包含外键sender_idreceiver_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来引用邮件的发件人。