Estoy usando respond_with
y todo está conectado correctamente para obtener datos correctamente. Quiero personalizar los formatos devueltos json
, xml
y foobar
de una manera SECA, pero no puedo encontrar la manera de hacerlo usando los :only
y :include
limitados. Estos son excelentes cuando los datos son simples, pero con hallazgos complejos, no alcanzan lo que deseo.Cómo personalizar la respuesta to_json en Rails 3
Digamos que tengo un puesto que has_many
imágenes
def show
@post = Post.find params[:id]
respond_with(@post)
end
quiero incluir las imágenes con la respuesta que yo pudiera hacer esto:
def show
@post = Post.find params[:id]
respond_with(@post, :include => :images)
end
pero realmente no quieren enviar a la todo el objeto de imagen, solo la url. Además de esto, realmente quiero ser capaz de hacer algo como esto también (pseudocódigo):
def show
@post = Post.find params[:id]
respond_with(@post, :include => { :foo => @posts.each.really_cool_method })
end
def index
@post = Post.find params[:id]
respond_with(@post, :include => { :foo => @post.really_cool_method })
end
... pero todo de una manera SECO. En proyectos de rieles más antiguos, he utilizado constructores de XML para personalizar el resultado, pero replicarlo en json, xml, html lo que no parece correcto. Tengo que imaginarme que los gurús de los rieles ponen algo en Rails 3 que no me estoy dando cuenta de este tipo de comportamiento. Ideas?
Este enlace es un 404. – lashleigh
https://github.com/fabrik42/acts_as_api – coneybeare