RJS en rails 2.0.2 funciona? que estoy haciendo mal?

El problema es que necesito usar rjs, he seguido algunos ejemplos
pero siempre me encuentro con el mismo problema, por ejemplo

def alerta
render :update do |page|
page.alert “Alerta desde RJS inline”
end
end

al ejecutar la accion la salida es la siguiente:
try {
Element.update(“cambios”, “Que bolas!”);
} catch (e) { alert(‘RJS error:\n\n’ + e.toString());
alert(‘Element.update(“cambios”, “Que bolas!”);’); throw e }

Tenés los ‘includes’ de javascript en el layout? A mi me pasó lo mismo y
fue
por eso.

A esto me refiero :

Layout

... <%= javascript_include_tag :defaults %> ...

Saludos.

2008/1/28 Efrén Fuentes [email protected]:

Si esto ya lo coloque en el layout

El 28/01/2008, a las 07:37 a.m., Juan Matías
escribió:

Tenés los ‘includes’ de javascript en el layout? A mi me pasó lo

¿Estás seguro que llamas a la acción ‘alerta’ con una llamada Ajax?.

Es decir, con una de las funciones que Rails usa para crear una petición
Ajax: link_to_remote, observe_field, observe_form, form_remote_tag,
etc…

Ya se que es obvio, pero a mi me pasó al principio de probar RJS y creo
recordar que más o menos me daba la misma salida que a tí…

Efectivamente es eso, hice la llamada desde una función de ajax y
funciono.

Pero como hago para ejecutarlo al cargar la pagina?

El 28/01/2008, a las 11:27 a.m., Dani S.
escribió:

On 28/01/2008, Efrén Fuentes [email protected] wrote:

Efectivamente es eso, hice la llamada desde una función de ajax y
funciono.

Pero como hago para ejecutarlo al cargar la pagina?

Por ponernos en contexto ¿tienes conocimientos mínimos de javascript?


Manuel, que
piensa que eres una excelente persona y medra en torno a
http://simplelogica.net y/o http://simplelogica.net/logicola/
Recuerda comer mucha fruta y verdura.

Si, lo que quiero hacer lo puedo hacer en javascript con addLoadEvent
y ejecutar una funcion javascript al cargar la pagina, el caso es que
debo
hacerlo desde el controlador de ruby para tener acceso a los modelos de
la aplicacion

On 28/01/2008, Efrén Fuentes [email protected] wrote:

Si, lo que quiero hacer lo puedo hacer en javascript con addLoadEvent
y ejecutar una funcion javascript al cargar la pagina, el caso es que
debo
hacerlo desde el controlador de ruby para tener acceso a los modelos de
la aplicacion

Quizás no te he entendido bien, es lunes. ¿No puedes simplemente
ejecutar esa función onload y hacer una petición contra el recurso
correspondiente?


Manuel, que
piensa que eres una excelente persona y medra en torno a
http://simplelogica.net y/o http://simplelogica.net/logicola/
Recuerda comer mucha fruta y verdura.

Podrías plantear exáctamente lo que necesitás? Mostrar lo que hiciste?
Para
ver mejor el problema. Yo no sé cómo llamar a una acción del controller
en
el evento ‘onload’. Tal vez un before_filter te pueda ayudar, así
cargás
los datos que necesitás y los tenés disponibles en la vista.
Juan Matías

Hola Efren, me he leido este hilo entero y todavia no se cual es tu
problema, ni tu solución. Eso es porque no tengo casi idea de
RJS y de Ajax. Pero seguro que no soy el único. Así que si no es mucha
molestia me gustaría pedirte que mostrase un poco de codigo enseñando la
forma correctya en la que has hecho lo que querias hacer.

“lo que tenia que hacer era cargar normalmente
la data con los controladores y luego con los eventos
de ajax y rjs modificarlos cuando sea necesario.”

Vamos un mini tutorial dentro del contexto de este hilo.

Gracias de antemano

A las personas que gestionan la lista:
Si esto que pido no es adecuado. No os lo penséis a la hora de decirmelo

gracias

El día 29/01/08, Efrén Fuentes [email protected] escribió:

En relidad me estaba ahogando en un vaso de agua
al final lo que tenia que hacer era cargar normalmente
la data con los controladores y luego con los eventos
de ajax y rjs modificarlos cuando sea necesario.

Yo empece a hacer las cosas en el orden inverso.

mil disculpas!

El 28/01/2008, a las 10:18 p.m., Juan Matías
escribió:

Podrías plantear exáctamente lo que necesitás? Mostrar lo que

On 29/01/2008, Andrés gutiérrez [email protected] wrote:

Hola Efren, me he leido este hilo entero y todavia no se cual es tu
Vamos un mini tutorial dentro del contexto de este hilo.

Gracias de antemano

A las personas que gestionan la lista:
Si esto que pido no es adecuado. No os lo penséis a la hora de decirmelo

  1. Si Efrén no tiene tiempo/ganas de hacer lo que dices no pasa nada.
  2. Si lo puede hacer sería un detallazo hacia los miembros de la lista.
  3. Está muy bien que pidas esto y que se fomenten estas buenas
    prácticas dentro de la comunidad.


Manuel, que
piensa que eres una excelente persona y medra en torno a
http://simplelogica.net y/o http://simplelogica.net/logicola/
Recuerda comer mucha fruta y verdura.

Bien la historia es la siguiente, estoy desarrollando un CMS el cual
debe ser totalmente dinámico,
y cargar las partes de la pagina según el nivel usuario que accede a
ellas, también según ese
nivel el usuario podría o no modificar el contenido en linea.

En fin la carga de los módulos lo hice fácilmente en rails utilizando
parciales para cada tipo de
modulo

<% @pagina.modulos.find(:all, :conditions => ‘columna =
“centro”’).each do |modulo| %>

<%=h modulo.titulo %>

<%= render :partial => modulo.tipo_modulo.nombre.downcase, :locals => {:modulo => modulo} %>

<% end %>

Ahora lo que estoy tratando de hacer es la parte interactiva, y estaba
tomando en consideración RJS,
pero los ejemplos estaban en una versión anterior de rails, bueno lo
modifique el ejemplo un poco
unos pequeños detalles y las extensiones de los archivos y quedo esto:

Estoy casi seguro que me va a ayudar mucho a hacer lo que deseo.

Espero haberme explicado.

Controlador:

def index
end

def log
@cambio = params[:cambio]
respond_to do |format|
format.js
end
end

end

Layouts:

index.html.erb

Log

<% form_remote_tag :url => { :action => ‘log’ }, :html => { :id =>
“log-form” } do |f| %>
<%= text_field_tag ‘cambio’, nil, :size => 40 %>
<%= submit_tag ‘Lanzar Log’ %>
<% end %>

log.js.rjs

page.insert_html :top, ‘cambios’, :partial => ‘cambio’
page.visual_effect :highlight, ‘cambios’
page.form.reset ‘log-form’

parcial
_cambio.html.erb

[<%= Time.now.to_s(:db) %>] <%=h cambio %>

Muchísimas gracias Efren y a ti tb Manuel por estar siempre por aquí.

Gracias

Un saludo

El día 29/01/08, Efrén Fuentes [email protected] escribió: