我有一些关于 RoR 和 MongoDB 的问题(使用 gem mongoid)。 例如我有两个收藏- 用户(字段:id、用户名、年龄)和消息(字段:id、消息、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.
最佳答案
您必须提供逆关系
belongs_to :to_user, :class_name => 'User', :inverse_of => :recieved_messages
belongs_to :from_user, :class_name => 'User', :inverse_of => :sent_messages
用户.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
会处理它
关于ruby-on-rails - Ruby on Rails 和 mongoid。关系,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19047431/