Подтвердить что ты не робот

Как перенаправить пользователя после регистрации при использовании Devise?

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

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

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

4b9b3361

Ответ 1

Добавьте в свой Application Controller

  # 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

Надеюсь, что help =)

Ответ 2

Ответ, указанный как " правильный", конкретно относится к знаку после 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

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

Ответ 3

Если вы используете подтверждения 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

Обязательно сообщите разработчику, что вы используете свой регистрационный контроль.

# config/routes.rb
devise_for :users, :controllers => {:registrations => 'registrations'}