Как перенаправить пользователя после регистрации при использовании Devise? - PullRequest
22 голосов
/ 29 августа 2010

Я использую Rails 2.3 и Devise для обработки регистрации / аутентификации пользователя.

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

Как я могу изменить поток разработки для перенаправления пользователя?

Ответы [ 3 ]

53 голосов
/ 22 июля 2011

Ответ, указанный как « правильный », относится именно к знаку после sign_in ... Если вы хотите выполнить перенаправление пользователя после sign_up, вам необходимо переопределить следующее:

def after_sign_up_path_for(resource)
  "http://www.google.com" # <- Path you want to redirect the user to after signup
end

Полную информацию можно найти на в вики .

28 голосов
/ 03 сентября 2010

Добавить в Контроллер приложений

  # Devise: Where to redirect users once they have logged in
  def after_sign_up_path_for(resource)
    "http://www.google.com" # <- Path you want to redirect the user to.
  end

Вот список помощников Devise, которые вы можете использовать http://rdoc.info/github/plataformatec/devise/master/Devise/Controllers/Helpers

Надеюсь, это поможет =)

18 голосов
/ 23 апреля 2012

Если вы используете подтверждения Devise (то есть пользователь не активируется сразу после регистрации), вам необходимо перезаписать метод after_inactive_sign_up_path_for.

# controllers/registrations_controller.rb
class RegistrationsController < Devise::RegistrationsController
  def after_inactive_sign_up_path_for(resource)
    "http://somewhere.com"
  end
end

Обязательно сообщите devise использовать вашРегистрация Контроллер.

# config/routes.rb
devise_for :users, :controllers => {:registrations => 'registrations'}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...