【问题标题】:How to create referral link like launchrock in ruby on rails?如何在 ruby​​ on rails 中创建像 launchrock 这样的推荐链接?
【发布时间】:2011-07-29 22:15:06
【问题描述】:

我想创建类似的推荐链接。

www.abc.com/1234
www.abc.com/4345

其中 number 是每个用户唯一的推荐代码。我确信这可以通过一些路由配置在 ruby​​ on rails 中完成。表示请求将被路由到的位置。哪个控制器?哪个动作?如何获取唯一代码的价值。

ps:launchrock 正在使用这样的推荐链接。

【问题讨论】:

    标签: ruby-on-rails ruby-on-rails-3 routes


    【解决方案1】:

    您可以将此结构与路由匹配一起使用,但您需要让推荐代码与特定模式匹配。例如,如果它们匹配 3 个字母后跟三个数字的格式,您可以在您的路由文件中添加以下内容:

    match '/:referrer_id' => 'app#index', :constraints => {:referrer_id => /[a-zA-Z]{3}[0-9]{3}/}
    

    对 app#index 的引用应该改为你处理引用的控制器,你可以通过 params[:referrer_id] 访问referrer_id。

    当然,请查看 Markus 的答案中引用的链接,以获取有关如何生成令牌的建议。

    【讨论】:

      【解决方案2】:

      我的书签中有一个关于生成令牌的链接: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]
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2011-01-08
        • 2014-03-07
        • 2018-09-10
        • 2016-05-11
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多