我有一个User类,引用了Message类。邮件类有user_id
(发件人)和receiver_id
。所以在User类中我有
has_many :messages
has_many :messages, :foreign_key => "receiver_id"
然后在我有的Message类中
belongs_to :user
第一个关系 - 通过user_id
- 非常顺利。 我对第二个关系的Message类没有任何想法。消息表是使用user_id
和receiver_id
构建的,所以支持就在那里
这可能吗?
此外,我不知道如何获取用户收到的消息......或收到消息的用户:)
[我知道我可以解决这个问题,因为有一个发送者表和一个接收者表和一个消息表,也许还有一堆其他表(一个会话表!),但是我想这样做,为了它的乐趣。此应用程序仅用于学习。]
同样重要的是:文档会在哪里? This不是很有帮助。
答案 0 :(得分: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