Переадресация после входа в систему с помощью Devise
Можно ли перенаправить пользователей на разные страницы (на основе роли) после входа в систему с помощью Devise? Кажется, это только перенаправляет на root: to = > ... страницу, определенную в routes.rb
Спасибо!
Ответы
Ответ 1
По умолчанию программа Devise выполняет маршрутизацию в root после ее действий. Существует хорошая статья об переопределении этих действий в Devise Wiki, https://github.com/plataformatec/devise/wiki/How-To:-Redirect-to-a-specific-page-on-successful-sign-in
Или вы можете пойти еще дальше, установив stored_locations_for(resource)
в nil, а затем у вас есть разные переадресации для каждого действия, то есть: after_sign_up_path(resource)
, after_sign_in_path(resource)
и т.д.
Ответ 2
просто вы можете добавить этот метод в свой прикладной контроллер
def after_sign_in_path_for(resource)
user_path(current_user) #your path
end
Ответ 3
только вставьте приведенный ниже код в контроллер приложения или любой контроллер, вам нужно выполнить операцию;
def after_sign_in_path_for(resource)
users_path
end
Ответ 4
Вот что я считаю ответом, который вы ищете из вики-разработки:
Как изменить стандартные маршруты sign_in и sign_out по умолчанию