2011-01-10 28 views

Respuesta

66

Intente utilizar HTTP_REFERER.

En Rails: request.referrer o request.headers["HTTP_REFERER"]

5

En una aplicación web, no existe una URL anterior. El protocolo http no tiene estado, por lo que cada solicitud es independiente entre sí.

Podría tener el código de Javascript, que envía una solicitud de vuelta, envíe la url actual con la solicitud.

+1

eso es exactamente la respuesta correcta y que todos deberían leer el artículo de Roy Fielding otra vez! – awenkhh

12

Uso

<%= url_for(:back) %> 
# if request.env["HTTP_REFERER"] is set to "http://www.example.com" 
# => http://www.example.com 

here is more details.

4

encontré con esta pregunta y se relaciona con algo simple que estaba haciendo en la actualidad.

Una solución simple que he empleado antes cuando uso las aplicaciones de estilo de asistente de javascript es almacenar dos variables de sesión que contienen la solicitud anterior y la actual (con todos los parámetros). acabo de añadir estas dos líneas a mi controlador de aplicación

session[:previous_request_url] = session[:current_request_url] 
session[:current_request_url] = request.url