使用mongoid 2.0.0.beta.20,如果它的意思。需要MongoID和多对多关系的一些帮助
目标很简单,但我无法得到它。我有一个User
模型,
references_many :worlds, :inverse_of => :users
和World
,其中,当然,
references_many :users, :inverse_of => :worlds
在人的话,用户可以访问0..inf世界,以及世界可以通过访问1..inf用户。世界应该存储那些曾经在那里的用户的ID列表,并且用户应该存储他访问过的世界ID的列表。看起来很容易,但不想为我工作。
现在,有一个用户实例(我们称他为someone
)和两个世界实例(earth
和mars
也许)。当我尝试说someone
访问earth
,没有任何问题:
earth.users << someone
earth.users.count # => 1
然后,我想说的是,someone
也已经在mars
:
mars.users << someone
mars.users.count # => 1
一切都OK?不知道:
earth.users.count # => 0
someone.worlds.count # => 0
我还试图用:stored_as => :array
参数的关系,但没有成功可言(方向无所谓):
someone.worlds << earth
NoMethodError: You have a nil object when you didn't expect it!
You might have expected an instance of Array.
The error occurred while evaluating nil.<<
(以及任何其他Array
方法是提高我试图处理无)
也许我错过了文档中的东西或做错了什么。请帮我解决这个问题。
升级到2.0.0.rc.1是有帮助的,谢谢 – at8eqeq3 2011-03-01 15:56:58