ruby-on-rails - button_to - rails 5 link_to class
Ruby on Rails: ¿Cómo se obtiene la URL anterior? (5)
¿Cómo obtener la URL anterior en Rails? ¿No es la URL de la que obtuvo una solicitud, sino la anterior?
Porque recibo una solicitud de AJAX y necesito la URL de la página en la que se encuentran actualmente (o la URL anterior a AJAX).
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, envíe la url actual con la solicitud.
Simplemente me encontré con esta pregunta y se relacionaba con algo simple que estaba haciendo en ese momento.
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 actual (con todos los parámetros). Solo agrego estas dos líneas a mi controlador de aplicación
session[:previous_request_url] = session[:current_request_url]
session[:current_request_url] = request.url
Utilizar
<%= url_for(:back) %>
# if request.env["HTTP_REFERER"] is set to "http://www.example.com"
# => http://www.example.com
http://railscasts.com/episodes/246-ajax-history-state -> ideal para ajax
http://ethilien.net/archives/better-redirects-in-rails/ -> Podrías poner en sesión la URL previa tantas como quieras.
Intenta usar HTTP_REFERER
.
En Rails: request.referrer
o request.headers["HTTP_REFERER"]