Ruby on rails 3 MongoDB中引用的奇怪行为

Ruby on rails 3 MongoDB中引用的奇怪行为,ruby-on-rails-3,mongodb,associations,mongoid,Ruby On Rails 3,Mongodb,Associations,Mongoid,我在Mongoid中使用Rails 3 我有两份文件: class MyUser include Mongoid::Document field ...... references_many :statuses, :class_name => "MyStatus" end class MyStatus include Mongoid::Document field ...... referenced_in :user, :class_name =>

我在Mongoid中使用Rails 3

我有两份文件:

class MyUser
  include Mongoid::Document

  field ......

  references_many :statuses, :class_name => "MyStatus"
end

class MyStatus
  include Mongoid::Document

  field ......

  referenced_in :user, :class_name => "MyUser"
end
问题是,我可以获得任何给定状态的用户,但我无法从用户那里获得状态列表


请告诉我我做错了什么?我只和mongo呆了几天……

我觉得你的代码很正确

您确定MyStatus.first.user==MyUser.first吗

数据库中可能有多个用户。。其中第一个用户没有状态,第二个用户的列表中有状态1

要测试这一点,请尝试执行以下操作:

status = MyStatus.first
user = status.user 
user.statuses         # Should return at least one status

你的代码在我看来是正确的

您确定MyStatus.first.user==MyUser.first吗

数据库中可能有多个用户。。其中第一个用户没有状态,第二个用户的列表中有状态1

要测试这一点,请尝试执行以下操作:

status = MyStatus.first
user = status.user 
user.statuses         # Should return at least one status

我没有测试它们是否相等,但我确实确认了
状态。user\u id
等于
user.id
…现在我已经重新实现了所有功能,现在它似乎正在工作。所以也许你是对的。我没有测试它们是否相等,但我确认了
状态。user_id
等于
user.id
…现在我已经重新实现了所有功能,它现在似乎正在工作。也许你是对的。