代码之家  ›  专栏  ›  技术社区  ›  Cimm

Rails向应用程序中的每个URL添加参数

  •  11
  • Cimm  · 技术社区  · 14 年前

    每个 我的Rails 2.3.10应用程序中的URL。我玩过 default_url_options 但我希望参数在URL中可见。类似于:

    http://<server>/posts?token=XYZ
    

    我正在建立一个附加跟踪系统,我希望人们共享链接,并能够跟踪谁的链接被使用后,有人点击它(给点谁共享链接)。任何关于如何在中添加可见参数的提示 应用程序中使用的URL?

    谢谢!

    3 回复  |  直到 14 年前
        1
  •  5
  •   edgerunner    14 年前

    重写 url_for

    module ActionView::Helpers::UrlHelper
      def url_for options
        options.merge! {:token => generate_token}
        super
      end
    end
    

    或者把这个加到你的 application.rb

    config.default_url_options += {:token => proc{generate_token}}
    
        2
  •  2
  •   Steven Soroka    11 年前

    在应用程序控制器(或相关控制器)中定义默认的url选项

    def default_url_options
      {subdomain: 'www'}
    end
    
        3
  •  0
  •   mark    14 年前

    post_path(@post, :token => user.token)
    

    如果您希望标记对post是唯一的,则类似地包括post标记:

    #post.rb
    def generate_token user
      "#{self.token}-#{user.token}"  
    
    #view
    post_path(@post, :token => post.generate_token)