如何存储新用户被引用的位置?使用Rails + Devise [英] How to store where a new user was referred? Using Rails + Devise

查看:139
本文介绍了如何存储新用户被引用的位置?使用Rails + Devise的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个使用devise的rails应用程序。我很好奇知道,是否可以在用户表中以某种方式跟踪新用户来自哪里,HTTP引荐来源?



我想知道哪个来自Facebook,Twitter,LinkedIn,Google+,以追踪病毒性循环。



任何想法?有人这样做吗可能?这应该在哪里应用于rails应用程序?还是很新的谢谢

解决方案

可以这样做。可能需要一些调整和修复,但您会得到一个想法
在过滤应用程序控制器之前,请将其称为任何操作

  def landing_filter 
if from_other_site(request.referrer)and!session [:referer] .blank?
session [:referer] = request.referrer#你不想删除第一个入口
end
end

from_other_site应该是在引用URL中检查域名的方法,如果它匹配您的返回 false ,否则 true



in devise / registration / new.erb.html view add in form hidden field

 <%= f.hidden_​​field:referrer,session [:reserrer]%> 

,不要忘记使用新的数据库字段为用户添加迁移


I have a rails app that uses devise. I'm curious to know, is it possible in the User table to somehow track where a new user came from, the HTTP referrer?

I'd like to know which came from Facebook, Twitter, LinkedIn, Google+ in order to track a viral loop.

Any ideas? Seen anyone do this? Possible? Where should this live in the rails app? Still very new. Thanks

解决方案

It could be done like this. May require some tweaking and fixing but You'll get an idea Make before filter for Application controller, you will call it for any action

def landing_filter
   if from_other_site(request.referrer) and !session[:referer].blank?
      session[:referer] = request.referrer #you don't want to delete first entrance 
   end
end

from_other_site should be the method which will check domain name in referrer url, if it match your then return false, otherwise true

in devise/registration/new.erb.html view add in form hidden field

<%= f.hidden_field :referrer, session[:reserrer] %>

and don't forget to add migration with new database field for user

这篇关于如何存储新用户被引用的位置?使用Rails + Devise的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆