4

我有一个引用 Message 类的 User 类。消息类有一个user_id (即发送者)和一个receiver_id. 所以在用户类中我有

  has_many :messages
  has_many :messages, :foreign_key => "receiver_id"

然后在我的 Message 类中

  belongs_to :user

第一个关系——通过user_id——非常顺利。我一点也不知道在第二个关系的 Message 类中放什么。消息表是用user_id和构建的receiver_id,所以支持就在那里。

这甚至可能吗?

另外,我不知道如何获取用户收到的消息......或收到消息的用户:)

[我知道我可以通过有一个发送者表和一个接收者表和一个消息表,也许还有一堆其他表(一个对话表!)来解决这个问题,但我想这样做,为了好玩其中。此应用程序将仅用于学习。]

同样重要的是:文档在哪里?不是很有帮助。

4

1 回答 1

11

在您的用户类中:

has_many :messages
has_many :received_messages, 
         :foreign_key => "receiver_id", :class_name => "Message"

在您的 Message 类中:

belongs_to :user
belongs_to :receiver, :class_name => "User"


@user = User.first
@user.messages
@user.received_messages
于 2009-01-30T23:34:49.913 回答