#ruby-on-rails #devise
#ruby-on-rails #devise
Вопрос:
Как мне сообщить Devise перенаправить пользователя на одноразовый экран приветствия, когда он только зарегистрировался?
Ответ №1:
Создайте новый контроллер «RegistrationsController» и настройте соответствующий метод:
class RegistrationsController < Devise::RegistrationsController
protected
def after_sign_up_path_for(resource)
some_special_page
end
end
Если зарегистрированная учетная запись еще не активна, вам необходимо переопределить метод after_inactive_sign_up_path_for.
class RegistrationsController < Devise::RegistrationsController
protected
def after_inactive_sign_up_path_for(resource)
some_special_page
end
end
Измените config / routes.rb для использования нового контроллера
devise_for :users, :controllers => { :registrations => "registrations" }
Источник: https://github.com/plataformatec/devise/wiki/How-To:-Redirect-after-registration -(регистрация)
Ответ №2:
В контроллере приложения добавьте это:
def after_sign_up_path_for(resource)
some_special_page
end
По большинству вопросов, связанных с Devise, обратитесь к их Github wiki
Ответ №3:
по умолчанию Devise перенаправляет пользователя в: user_root (если имя вашей модели user)
таким образом, вы можете определить именованный маршрут
get "/welcome" => "welcomes#index", :as => "user_root"