En una aplicación Rails tengo una acción que devuelve una representación json de una colección de diferentes modelos. Parece algo como esto:Rails 3 responda a json, con atributos/métodos personalizados
respond_to :json
def index
@cars = Car.all
@vans = Van.all
respond_with({
:cars => @cars,
:vans => @vans
})
end
Sin embargo, quiero personalizar los atributos y métodos que se pasan al objeto JSON. Un poco como:
respond_with({
:cars => @cars.to_json(:only => [:make, :model], :methods => [:full_name]),
:vans => @vans
})
hacer lo anterior, hace que la representación JSON de los "coches" ser escapado como una cadena grande, como:
{
"cars":"[{\"car\":{\"make\":\"Ford\" ... etc
"vans": [{"van":{"make":"Citreon" ... vans not escaped
}
Obviamente me estoy acercando a mal . ¿Alguien puede señalarme en la dirección correcta?
el clavo! Gracias. (aceptará esta respuesta tan pronto como me sea permitido) – aaronrussell