我对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。
答案 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_key
,Mongoid
会照顾它