2012-01-17 15 views
14

tengo una urlcómo llegar de referencia desde una dirección URL redirigida

domain.com/a

que redirige a

domain.com/controller/action/a.

¿Cómo obtengo la referencia (es decir, domain.com/a) en mi acción para domain.com/controller/action/a?

Una opción era agregar el dominio de referencia como parámetro.

domain.com/controller/action/a?referral=domain.com/a.

Hay una forma de obtener la referencia sin pasar referencia anterior como parámetro. Como lo obtendríamos de **request.referrer**. request.referrer no parece funcionar con las URL redirigidas.

Estoy usando Ruby on Rails para mi desarrollo.

+0

@okliv en realidad, olvidé cuál utilicé para mi código :). –

Respuesta

11

que almacenar la ruta de referencia en la sesión justo antes de redirección

session[:referrer]=url_for(params) 

y luego usarlo cuando lo necesite a través de session[:referrer].

+0

Supongo que no hay otras formas – lulalala

4

Utilizamos esta línea en nuestro application_controller.rb para guardar el HTTP_REFERER cuando un usuario visita nuestro sitio:

session[:http_referer] = request.env["HTTP_REFERER"]

Más tarde, vamos a guardar el valor en nuestro modelo para el seguimiento.

0

Puede ser tarde, pero solo para agregar. Creo que es importante eliminar la sesión después de usarla.

redirect_to session.delete(:referrer) 
Cuestiones relacionadas