2016-08-25 1 views
0

각 사이트가 트러스트에 속하고 트러스트에 많은 사이트가있는 앱이 있습니다.Jbuilder에서 belongs_to/has_many 모델 관계 내에서 데이터 가져 오기

이 같은 제이빌더와 JSON 결과를 짓고 있어요 : 블록의 마지막 줄은 NoMethod의 오류를 반환

json.array! (@sites) do |site| 
     json.id site.id 
     json.name site.name 
     json.city site.city 
     json.state site.state 
     json.country site.country 
     json.start_date site.start_date 
     json.end_date site.end_date 
     json.trust site.trust, :id, :name # throws error here 
    end 

"무기 호에 대한 정의되지 않은 메서드 'ID'. NilClass를"

그러나 사이트 모델은 belongs_to : trust이고 신뢰 모델은 has_many : sites입니다.

레일스 콘솔을 실행할 때 예상대로 site.trust.id 및 site.trust.name에 액세스 할 수 있습니다.

어떤 아이디어가 잘못 되었나요?

답변

0

나는 그것을 작동 시켰습니다. 기본적으로 데이터베이스를 덤프 한 다음 마이그레이션을 다시 실행했습니다. 이제 제대로 작동합니다.

왜 이렇게 될지 아이디어가 있으십니까? 이전에는 문제없이 작동했지만 오류가 발생했습니다. 나는 단지 내가 똑같은 실수를하지 않도록하고 싶다.

관련 문제