11

Rails 2.3.10 アプリケーションのURL にパラメーターを追加したいと考えています。で遊んだdefault_url_optionsが、パラメーターを URL に表示したい。何かのようなもの:

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

私はアフィリエイト追跡システムを構築しており、人々がリンクを共有し、後で誰かがクリックしたときに誰のリンクが使用されたかを追跡できるようにしたい (リンクを共有した人にポイントを与えるため)。アプリケーションで使用される各URLに可視パラメータを追加する方法についてヒントはありますか?

ありがとう!

4

3 に答える 3

5

リライト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}}
于 2010-11-05T13:09:04.720 に答える
0

ユーザーのログインを使用するか、ユーザーテーブルにフィールドとして保存するトークンを生成し、それを次のようにURLに追加します。

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

トークンを投稿に固有のものにしたい場合は、同様に投稿トークンを含めます。

#post.rb
def generate_token user
  "#{self.token}-#{user.token}"  

#view
post_path(@post, :token => post.generate_token)
于 2010-11-05T12:57:25.333 に答える