我想创建像。
这样的引荐链接www.abc.com/1234
www.abc.com/4345
其中number是推荐代码,对每个用户而言都是唯一的。我确信这可以在带有一些路由配置的rails上的ruby中完成。表示请求将被路由的方式。哪个控制器?哪个动作?如何获得唯一代码的价值。
ps:launchrock正在使用这样的引荐链接。
答案 0 :(得分:2)
您可以将此结构与路线匹配结合使用,但您需要使引荐代码与特定模式匹配。例如,如果它们匹配3个字母后跟三个数字的格式,您可以将以下路线文件放在:
match '/:referrer_id' => 'app#index', :constraints => {:referrer_id => /[a-zA-Z]{3}[0-9]{3}/}
对app#index的引用应更改为处理引用的控制器,您可以通过params [:referrer_id]访问referrer_id。
当然,请查看Markus回答中引用的链接,了解有关如何生成令牌的建议。
答案 1 :(得分:1)
我的书签中有关于令牌生成的链接: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]