Rails настраиваемая маршрутизация для автоматического входа - PullRequest
1 голос
/ 15 декабря 2009

Я хочу настроить автоматический вход в систему, предоставив пользователю ссылку / ключ, который они могут использовать, например http://domain.com/4yT67rw. Последние 7 цифр являются случайными и присваиваются пользовательской модели.

Возможно ли это сделать с помощью пользовательской маршрутизации? Я полагаю, что это должно быть что-то вроде регулярного выражения, чтобы определить, что это ключ, а не название модели или ошибка.

Было бы здорово, если бы я мог сделать что-то вроде:

map.connect 'reg_ex_here', :controller => 'users', :action => 'key_redirect'

и затем в пользовательском контроллере:

def key_redirect
  user = User.find_by_key(key)
  redirect_to user_path(user)
end

Или, возможно, каким-то другим простым способом, о котором я не знаю. ;)

Спасибо

1 Ответ

3 голосов
/ 15 декабря 2009

что-то вроде этого должно работать для вас:

map.key_redirect '/:key_id', :requirements => {:key_id => /regex_here/}, :controller => 'users', :actions => 'key_redirect'

Как и во всех маршрутах, вы можете ссылаться на key_redirect_path или key_redirect_url при создании URL.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...