我想創建引薦鏈接。如何在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]