[Ror-es] Actualizar varios DOM's con partials en una llamada ajax

lumen
Wed Feb 15 15:16:46 GMT 2006


Hola. Estoy descubriendo ajax con rails y tengo una duda.

He visto los ejemplos típicos para la actualización de varios diffs. La
idea que pillo es que la respuesta del servidor a la llamada ajax sean
varias funciones javascript. La respuesta al llegar al cliente es
interpretada como javascript en lugar de ser renderizada como html.

Así se pueden devolver varios update_element_function actualizando cada
uno un DOM diferente.


La pregunta es cómo darle al update_element_function un contenido más
complejo que texto, sino un render partial.

En otras palabras. Los ejemplos que veo son del estilo:

update_element_function(
  "cart",
  :action => :update,
  :position => :bottom,
  :content => "<p>New Product: #{@product.name}</p>")
)

que actualiza el DOM 'cart' con el html "<p>New Product: #{@product.name}</p>"

Pero lo que yo necesito es algo así como:

html_code = render_partial( parametros )
update_element_function(
  "cart",
  :action => :update,
  :position => :bottom,
  :content => html_code
)

Pero no hay manera de meter el código html en el content.
Tampoco funciona como bloque:

html_code = render_partial( parametros )
update_element_function( "cart") do 
  <%= render_partial( parametros ) %>
end