2011-09-21 2 views

답변

9

render :json => @coupons.to_json(:include => :company)과 같은 작업을 수행 할 수 있습니다. 적어도 레일 2.3.8에서 초기 테스트를 수행 한 것 같습니다.

대답 :include => :company보다는

+0

쿠폰은 실제로 기업에 속해 있습니까? 그렇지 않다면 위의 내용을 시도해보십시오 : include => : company –

+0

맞습니다. 오타였습니다. 그것은 belongs_to : 회사 – sgrif

+0

나는이 변화를 보여주는 대답을 편집. – William

3

가능한 한 컴팩트로 JSON을 유지해야하는 경우 :include => :companies를 사용하여 편집, 그것은 당신이 필요로하는 데이터 만 반환하는 사용자 정의 모델 방법을 사용하는 것이 가장 좋습니다. 부모 모델에 맞춤 as_json 메서드를 추가하고 methods 옵션을 사용하여 관련 개체의 데이터의 하위 집합을 반환했습니다. include을 사용하면 관련 모델의 전체 json 직렬화가 포함됩니다.

def as_json(options={}) 
    super(
    :only => [:id, :name], 
    :methods => [ 
     :organization_type_name, 
    ] 
) 
end 

def organization_type_name 
    self.organization_type.name 
end 
관련 문제