JavaScript + RHTML + Ruby?

necesito obtener el valor de la variable url (JavaScript) y enviarla
al controlador, algo asi:

           <%= button_to 'Generar rerporte', {:action =>

‘generar_reporte’, :reporte => 1, :url => ‘return obtener_url()’ } %>

          <script type="text/javascript">
            function obtener_url()
             {
          url = document.location.href ;
          partes = url.split('/');
          alert(partes[partes.length-1]);
          return true
               }
           </script>

Es un intento, para obtener el url completa de la pagina actual y para
luego poder manipularla, no me funciona, ¿Alguien me puede ayudar a
pasar url al controlador?

Parece algo realmente extraño =S la verdad que lo que creo es que no
entiendo que quieres hacer
porfavor explica mas detalladamente para poderte ayudar, lo que quieres
saber es en que pagina
estuvo antes para hacer un boton para regresar o que es lo que planeas
hacer
?

Ing. Omar S. Jimenez Becerra

El día 28/02/08, Carlos C. [email protected]
escribió:

Omar J. wrote:

Parece algo realmente extraño =S la verdad que lo que creo es que no
entiendo que quieres hacer
porfavor explica mas detalladamente para poderte ayudar, lo que quieres
saber es en que pagina
estuvo antes para hacer un boton para regresar o que es lo que planeas
hacer
?

Ing. Omar S. Jimenez Becerra

El día 28/02/08, Carlos C. [email protected]
escribió:

si es lo que quiero hacer, un boton para regresar a la pagina anterior
y ademas y guardando cada una de las url que se vayan visitando

ok voy a probar

ok ya te entendi, pues se cruzo el fin de semana y la verdad que no me
dio
tiempo de contestarte antes pero si aun te sirve ahi te va.

te propongo esto, supongo que cuando entra un usuario se tiene que
firmar
(login) entonces tienes el objeto de session, vamos hacia

el application.rb ( ApplicationController ) y vamos a escribir un metodo
con
before_filter si ya tenias uno simplemente pones el codigo al inicio del
metodo si no harias lo siguiente en el archivo.

before_filter :guarda_accion_previa

def guarda_url_previa

session[:urls_visitadas] = [] if session[:urls_visitadas] == nil

session[:urls_visitadas] << request.request_uri

end

como todos los controladores heredan de este todos tienen el
before_filter y
todos salvan la url visitada, la cual tendrias en el objeto de session
en
:urls_visitadas en un array.

supongamos que visitas a articulos/id=7
luego a cuenta/ultimas_compras
luego a articulos/

tendiras en session[:urls_visitadas][0] ← articulos/id=7 en el 1
cuenta/ultimas_compras en el 2 articulos/

para poner el boton pues simplemente un

<%= link_to ‘atras’, session[:urls_visitadas][-1] %>

o tambien

atras%>

falta ver cuando borrar los links visitados cuando sea necesario pero
bueno
supongo que con esto tendras suficiente y ya la logica la tiras tu

otros metodos que te pueden servir son

controller_name ← te da el nombre del controlador en el que estas

action_name ← te da el nombre de la accion

params ← los parametros

pues en teoria si concatenaras controller_name + action_name + todos los
elementos del params tendrias lo mismo que el request_uri

bueno espero que te sirva, no se si te diera algun error de sintaxis la
verdad que lo escribi aqui en el mail, cualquier duda o algo que falle o

haga falta me avisas por aca ando.

Ing. Omar S. Jimenez Becerra
El día 29/02/08, Carlos C. [email protected]
escribió: