当前位置:  开发笔记 > 编程语言 > 正文

两个外键与ActiveRecord?[轨]

如何解决《两个外键与ActiveRecord?[轨]》经验,为你挑选了1个好方法。

我有一个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,因此支持就在那里.

这甚至可能吗?

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

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

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



1> assplecake..:

在您的User类中:

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

推荐阅读
拾味湖
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有