2011-09-21 9 views

Respuesta

9

Es posible que pueda hacer algo como render :json => @coupons.to_json(:include => :company), al menos parece haber funcionado con mi prueba inicial en los carriles 2.3.8.

respuesta editado para usar en lugar de :include => :company:include => :companies

+0

¿Un cupón realmente pertenece a: companies (plural)? si no, intente lo anterior pero: include =>: company –

+0

Tiene razón, eso fue un error tipográfico. Pertenece a la empresa – sgrif

+0

Edité la respuesta para mostrar este cambio. – William

3

Si usted necesita para mantener su JSON lo más compacto posible, lo mejor es utilizar métodos de modelo personalizado para devolver sólo los datos que necesita. Terminé agregando un método personalizado as_json al modelo principal y utilizando la opción methods para devolver subconjuntos de los datos del objeto relacionado. El uso de include incluirá una serialización completa del modelo relacionado.

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

def organization_type_name 
    self.organization_type.name 
end 
Cuestiones relacionadas