【发布时间】:2010-01-02 00:08:42
【问题描述】:
我有一个与两个用户相关的私人消息模型,如何设置关联以便 PM.sender 是发件人的用户模型,而 PM.receiver 是收件人的用户模型? (这样我就可以调用 PM.sender.username 等)
我有一个 sender_id 和 receiver_id 字段。
【问题讨论】:
标签: ruby-on-rails activerecord
我有一个与两个用户相关的私人消息模型,如何设置关联以便 PM.sender 是发件人的用户模型,而 PM.receiver 是收件人的用户模型? (这样我就可以调用 PM.sender.username 等)
我有一个 sender_id 和 receiver_id 字段。
【问题讨论】:
标签: ruby-on-rails activerecord
假设模型类 Message 和 User,在您的 Message 模型中:
class Message < ActiveRecord::Base
belongs_to :sender, :class_name => 'User'
belongs_to :receiver, :class_name => 'User'
end
因为类名不能从关联名中推断出来,所以需要显式的:class_name。
更新:刚刚检查过,:foreign_key 参数不应该是必需的,只要外键的名称是关联名称后跟_id,它就是在这种情况下。
【讨论】: