[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