Как создать реферальную ссылку типа launchrock в ruby ​​on rails? - PullRequest
0 голосов
/ 05 апреля 2011

Я хочу создать реферальные ссылки, например.

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

Где число - это реферальные коды, которые будут уникальными для каждого пользователя.Я уверен, что это можно сделать в ruby ​​на рельсах с конфигурацией некоторых маршрутов.Означает, что запрос будет перенаправлен.Какой контроллер?какое действие?Как получить значение уникального кода.

ps: launchrock использует такие реферальные ссылки.

Ответы [ 2 ]

2 голосов
/ 05 апреля 2011

Вы можете использовать эту структуру для сопоставления маршрутов, но вам нужно, чтобы коды рефералов соответствовали определенному шаблону.Если, например, они соответствуют формату 3 букв, за которыми следуют три цифры, вы можете поместить следующий файл маршрутов:

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

Ссылка на индекс app # должна быть изменена на контроллер, в котором выобрабатывать рефералы, и вы можете получить доступ к referrer_id через params [: referrer_id].

Конечно, посмотрите на ссылку, указанную в ответе Маркуса, для предложений о том, как генерировать токены.

1 голос
/ 05 апреля 2011

В моих закладках есть ссылка на генерацию токена: 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]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...