Estoy creando un programa de referencia para mi aplicación Ruby on Rails, de modo que un usuario pueda compartir un enlace que contenga su ID de usuario (app.com/?r=ID). Si una ID de referencia está presente cuando un visitante llega a la página de inicio de la aplicación, el formulario de suscripción en la página de inicio contiene un campo oculto que se completa con la ID de la referencia. El controlador luego detecta la ID y crea una nueva referencia en una tabla de referencia si el visitante referido se registra. Funciona, y aquí está el trozo de código que: las cosasPrograma de referencia: cookies y más (Rails)
@referrer = User.find(params[:r]) rescue nil
unless @referrer.nil?
@referral = Referral.new(:referrer_id=>@referrer.id)
end
Bastante simple, pero es bastante fácil de romper (por ejemplo: si el visitante se desplaza fuera de la página de inicio, ID de referencia se pierde). Siento que las cookies pueden ser un método más robusto, donde una cookie que contiene la ID del referente se almacena en la computadora del usuario referido por x días. Esto es bastante común, especialmente con programas de afiliados como Groupon, pero nunca he trabajado con cookies y no tengo idea de por dónde empezar.
Además, ¿hay alguna buena manera de enmascarar o cambiar las URL del sistema de referencia? En lugar de tener app.com/?r=1842, preferiría algo como app.com/x39f3 < - una secuencia generada de forma aleatoria de números asociados con un usuario dado, sin el r = porción ?.
Cualquier ayuda es muy apreciada. ¡Gracias!