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

lumen
Wed Feb 15 17:51:09 GMT 2006


On Wed, Feb 15, 2006 at 06:21:57PM +0100, Victor Jalencas wrote:
> Hola,
> 
>  si he entendido bien tu pregunta, tienes que usar link_to_remote, y
> como :action un método que solo haga el render_partial, sin layout ni nada.

Ya, eso va bien si sólo tengo que actualizar un div. Pero imagina esta
situación:

<div id=lista_productos>
  <%= render_partial 'productos_de_cliente' %>
</div>
<div id=formulario_para_anadir_producto>
  <%= form_remote_tag :action => 'anadir_producto', :id =>
  'formulario_para_anadir_producto' ...%>
  ....
  <%= end_form_tag %>
</div>


La función anadir_producto se encargará de validar el nuevo producto del
formulario.
Si no es válido, renderizará de nuevo el formulario con los errores en
el id 'formulario_para_anadir_producto'.
Pero si es correcto lo guardará en la base de datos y debe actualizar la
lista de de productos, que está en el id 'lista_productos' y a la vez
renderizar de nuevo el formulario "vacio" (para usar otra vez).

La actualización de los dos div se puede hacer si en lugar de html envio
javascript y lo interpreto en el cliente ( lo del :complete => evaluate_remote_response ).
Pero resulta que no puedo crear una función javascript con el html del 
render_partial 'productos_de_cliente' (por ejemplo).

me explico bien?

> 
> Victor
> 
> lumen wrote:
> > 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.
> > 
> _______________________________________________
> Ror-es mailing list
> 
> 
>