Rails中的多个关系,其中类名与关联名称不匹配

时间:2010-01-01 15:53:49

标签: ruby-on-rails activerecord

我有一个与两个用户相关的私人消息模型,如何设置关联,以便PM.sender是发件人的用户模型,PM.receiver是收件人的用户模型? (这样我可以调用PM.sender.username等。)

我有一个sender_id和receiver_id字段。

1 个答案:

答案 0 :(得分:5)

假设您的Message模型中的模型类UserMessage

class Message < ActiveRecord::Base
  belongs_to :sender, :class_name => 'User'
  belongs_to :receiver, :class_name => 'User'
end

由于无法从关联名称推断出类名,因此需要使用显式:class_name

更新:刚刚检查过,只要外键名称是关联名称后跟:foreign_key,就不需要_id参数,就是这种情况。