Thursday, June 16, 2011

Crea un link a la página visitada previamente en Ruby on Rails

Para crear un link a la página de donde viene el usuario en Ruby on Rails, basta colocar la siguiente linea de código:

<%= link_to_function 'Volver', 'history.back()' %>
o bien:

<%= link_to_function 'Volver', :back %>

Esto es equivalente a lo que hace la linea de código:

javascript:history.back()


Bookmark and Share

2 comments:

Janoma said...

Hola Mari,

history.back() funciona en el sentido que tú quieres sólo cuando el enlace fue activado en la misma ventana (actualmente, tab), o en lo estricto, en la misma instancia del navegador (por eso digo "tab", porque algunos navegadores están usando una instancia por tab). Si el link se abre con target=_blank, por ejemplo, la nueva página está en una instancia que tiene un historial vacío y el enlace no funciona. Lo mismo si abres un enlace desde un programa externo (Skype, messenger, outlook) a un tab nuevo o una ventana nueva. Busca por ahí sobre "HTTP referrer" para que tengas una mejor idea de cómo obtener el origen del "request" recibido.

De todas maneras, ten ojo con los redireccionamientos (como los enlaces externos en gmail o facebook, o los más limpios 301, 302 y 307), que pueden provocar que history.back() simplemente vuelva a la misma página. En algunos casos tendrías que probar history.back(-2), pero si hay más redireccionamientos previos esto tampoco funciona :-)

Saludos

Marisol Acuña said...

Gracias por el aporte! :)

Related Posts Plugin for WordPress, Blogger...