mongoid 2.0.0.beta20을 사용하면 의미가 있습니다.MongoID 및 다 대다 관계에 대한 도움이 필요합니다.
목표는 매우 간단하지만 얻을 수는 없습니다. 나는 User
모델을 가지고있는 물론, 인간 즉
references_many :users, :inverse_of => :worlds
는, 사용자가 세계를 0..inf 방문 할 수 있으며, 세상이 방문 할 수
references_many :worlds, :inverse_of => :users
과 World
, 1. 사용자. World에는 거기에 있었던 사용자의 ID 목록을 저장해야하며 사용자는 그가 방문한 세계의 ID 목록을 저장해야합니다. 꽤 쉽게 보이지만 나를 위해 일하고 싶지 않습니다.
이제 사용자 (예 : someone
)와 인스턴스 2 개 (earth
및 mars
일 수 있음) 인스턴스가 있습니다. 내가 someone
이 earth
을 방문한다는 말을하려고하면 문제가 없습니다 : 그런 다음
earth.users << someone
earth.users.count # => 1
, 나는 someone
도 mars
에되어 있음을 말하고 싶은 :
mars.users << someone
mars.users.count # => 1
모든 게 OK? 확실하지 :
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
방법이 있음을 제기 : 나는 또한 (방향은 중요하지 않습니다) 전혀 성공을 관계 :stored_as => :array
매개 변수를 사용하여 시도,하지만 거기
earth.users.count # => 0
someone.worlds.count # => 0
나는 아무렇지도 않게 다루려고 노력했다.)
어쩌면 내가 뭔가를 놓쳤거나 뭔가 잘못하고있을 수도있다. 제발,이 문제를 해결하도록 도와주세요.
내 컨트롤러 (컨트롤러가 하나 개의 인스턴스 만 작동하므로 다른 방법이 없다)에'save' 전화, 감사합니다 – at8eqeq3