Cómo personalizar la respuesta to_json en Rails 3

estoy usandorespond_with y todo está conectado correctamente para obtener datos correctamente. Quiero personalizar el devueltojson, xml yfoobar formatos de una manera SECA, pero no puedo entender cómo hacerlo usando el limitado:only y:include. Estos son excelentes cuando los datos son simples, pero con hallazgos complejos, no alcanzan lo que quiero.

Digamos que tengo una publicación quehas_many imágenes

def show
  @post = Post.find params[:id]
  respond_with(@post)
end

Quiero incluir las imágenes con la respuesta para poder hacer esto:

def show
  @post = Post.find params[:id]
  respond_with(@post, :include => :images)
end

pero realmente no quiero enviar todo el objeto de imagen, solo la url. Además de esto, realmente quiero poder 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 SECA. En proyectos de rieles anteriores, he usado constructores XML para personalizar el resultado, pero replicarlo en json, xml, html, lo que no parezca correcto. Tengo que imaginar que los gurús de rails ponen algo en Rails 3 que no me estoy dando cuenta de este tipo de comportamiento. Ideas?

Respuestas a la pregunta(3)

Su respuesta a la pregunta