我想创建引荐链接。如何在rails上的ruby中创建像launchrock这样的referal链接?
www.abc.com/1234
www.abc.com/4345
其中编号是对每个用户都是唯一的推荐代码。我确信这可以通过一些路由配置在rails上完成。意味着请求将被路由。哪个控制器?哪个动作?如何获得唯一代码的价值。
任何人都可以帮助我吗?
ps:launchrock正在使用此类推介链接。
我想创建引荐链接。如何在rails上的ruby中创建像launchrock这样的referal链接?
www.abc.com/1234
www.abc.com/4345
其中编号是对每个用户都是唯一的推荐代码。我确信这可以通过一些路由配置在rails上完成。意味着请求将被路由。哪个控制器?哪个动作?如何获得唯一代码的价值。
任何人都可以帮助我吗?
ps:launchrock正在使用此类推介链接。
您可以将此结构与路线匹配使用,但您需要让推介代码与特定模式匹配。如果,例如,他们匹配的3个字母后跟三个数字的格式,你可以把下面的你的路由文件:
match '/:referrer_id' => 'app#index', :constraints => {:referrer_id => /[a-zA-Z]{3}[0-9]{3}/}
到应用#指数基准应改为在您办理转诊控制器您可以通过params [:referrer_id]访问referrer_id。
当然可以看看Markus的答案中提及的关于如何生成令牌的建议。
我有我的书签就链接到令牌生成:http://blog.logeek.fr/2009/7/2/creating-small-unique-tokens-in-ruby
在你的应用程序,你将需要单独的标记存储在用户表。控制器和行动取决于你和你可以通过www.abc.com/referral?123456这样的路线。
routes.rb
match "/referral/:ref" => "controller#action"
access in controller with:
params[:ref]