[Ror-es] Ajax + render :update

Xavier Noria fxn at hashref.com
Sat Feb 3 01:42:54 GMT 2007


On Feb 3, 2007, at 1:33 AM, Esteban wrote:

> A ver si me aclaran esta confusión
>
> Todos los métodos Rails para Ajax usan un parámetro :update para  
> indicar
> que sección debe actualizarse con la respuesta del servidor.
> Además la variante :update del render permite pasar un bloque y así
> actualizar múltiples zonas, incluso ejecutar javascript por medio  
> de page<<
> Como respuesta a una petición ajax quiero actualizar una sección,
> mostrar una seccion oculta y finalmente ejecutar un código  
> javascript -
> un periodical_call_remote para actualizar una barra de progreso
> Me funciona a medias. Sí muestra la sección oculta y ejecuta el codigo
> javascript, pero también dibuja el resultado de la petición en la
> sección indicada en el :update del form_remote_tag, o sea además de
> ejecutarlo, escribe en el browser el código fuente javascript que le
> llega del server.
> Y si remuevo el :update del form_remote_tag, entonces el código
> javascript no se ejecuta!, siembargo los efectos visuales si se dan
> Mi pregunta es, qué estoy haciendo mal?

Cuando uno pasa :update a form_remote_tag, se genera un objeto  
Ajax.Updater. Este entiende que debe actualizar el elemento con el ID  
que se pasa con lo que la llamada Ajax devuelve. Ademas, como se  
genera con evalScripts:true, los <script>s se evaluan. Por eso ves  
que funciona salvo que el codigo termina por ahi.

En cambio, si no se pasa :update se genera un objeto Ajax.Request,  
que tambien evalua el JavaScript, pero no trata de actualizar de por  
si nada.

Por lo tanto a priori sin :update deberia funcionar. Podrias por  
favor enviar algo de codigo?

-- fxn







More information about the Ror-es mailing list