我正在为我的 Ruby on Rails 应用程序构建推荐程序,以便用户可以共享包含其用户 ID (app.com/?r=ID) 的链接。如果访问者登陆应用程序主页时存在推荐人 ID,则主页上的注册表单包含一个隐藏字段,该字段填充了推荐人 ID。如果被推荐的访问者注册,控制器然后检测 ID 并在推荐表中创建新的推荐。它有效,这是这段代码:
@referrer = User.find(params[:r]) rescue nil
unless @referrer.nil?
@referral = Referral.new(:referrer_id=>@referrer.id)
end
很简单的东西,但很容易破解(例如:如果访问者离开主页,推荐人 ID 会丢失)。我觉得 cookie 可能是一种更强大的方法,其中包含推荐人 ID 的 cookie 会在被推荐用户的计算机上存储 x 天。这很常见,尤其是像 Groupon 这样的附属计划,但我从未使用过 cookie,也不知道从哪里开始。
另外,有什么好的方法可以屏蔽或更改推荐系统的 URL?而不是app.com/?r=1842,我更喜欢app.com/x39f3 <- 与给定用户关联的随机生成的数字序列,没有?r=部分。
任何帮助是极大的赞赏。谢谢!