Ruby on Rails和mongoid。关系

时间:2013-09-27 09:33:54

标签: ruby-on-rails mongodb mongoid

我对RoR和MongoDB有一些疑问(使用gem mongoid)。 例如我有两个收藏 - 用户(字段:id,用户名,年龄)和消息(字段:id,message,user_to,user_from)。 我需要联系这个系列。 模型用户 -

....
has_many :messages

模型消息 -

....
belongs_to :to_user, :class_name => 'User', :foreign_key => 'user_to'
belongs_to :from_user, :class_name => 'User', :foreign_key => 'user_from'

在我看来打电话 -

- @messages.each do |message|
  %tr
    %td    
      = message.message
    %td
      = message.to_user.username
    %td
      = message.from_user.username

但它不起作用。请告诉我如何联系它。 B.R。

1 个答案:

答案 0 :(得分:3)

您必须提供inverse relation

belongs_to :to_user, :class_name => 'User', :inverse_of => :recieved_messages
belongs_to :from_user, :class_name => 'User', :inverse_of => :sent_messages

user.rb

has_many :recieved_messages, :class_name => 'Message', :inverse_of => :to_user
has_many :sent_messages, :class_name => 'Message', :inverse_of => :from_user

您不需要foreign_keyMongoid会照顾它