2011-03-01 2 views
1

Mongoid와 함께 Rails 3을 사용하고 있습니다.MongoDB에서 참고 문헌의 이상한 동작이 발생했습니다.

나는 두 개의 문서가 있습니다

문제가
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 

, 나는 주어진 상태의 사용자를 얻을 수 있습니다,하지만 난 사용자로부터 상태의 목록을 얻을 수 없습니다!

즉.

status = MyStatus.first 
status.user # the output is correct here 

user = MyUser.first 
user.statuses # this one outputs [] instead of the list of statuses... 

무엇이 잘못 되었습니까? 나는 몽고로 며칠 밖에 안 남았습니다 ......

답변

1

당신의 코드는 저에게 딱 들어 맞습니다.

MyStatus.first.user == MyUser.first가 맞습니까?

db에 여러 사용자가있을 수 있습니다. 첫 번째 사용자는 상태가없고 두 번째 사용자는 자신의 목록에 status1이 있습니다. 이를 테스트하려면

, 일을 시도 :

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

가 동일하면 내가 테스트하지 못했지만, 내가 확인 않았다'status.user_id'는 user.id'는 ..... 지금은 재 구현 한'동일 모든 것이 작동하는 것처럼 보입니다. 어쩌면 당신 말이 맞을 수도 있습니다. – PeterWong

관련 문제