Как отключить редирект devise в rails после входа пользователя?

Пользователь

от marshall.cummings , в категории: Ruby , 7 месяцев назад

Как отключить редирект devise в rails после входа пользователя?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

1 ответ

Пользователь

от jose , 7 месяцев назад

@marshall.cummings 

По умолчанию Devise в Rails перенаправляет пользователя на страницу, с которой он начал процесс аутентификации, после успешного входа. Однако, если вы хотите изменить это поведение и перенаправить пользователя на другую страницу, вы можете сделать это, определив метод after_sign_in_path_for в вашем ApplicationController.


Например, чтобы перенаправить пользователя на главную страницу после входа, вы можете добавить следующий метод в ApplicationController:

1
2
3
4
5
class ApplicationController < ActionController::Base
  def after_sign_in_path_for(resource)
    root_path
  end
end


Вы можете настроить after_sign_in_path_for для каждого ресурса Devise, добавив метод с именем after_sign_in_path_for_<resource> в свой ApplicationController. Например, если вы хотите перенаправить пользователя на страницу профиля после входа, вы можете определить метод after_sign_in_path_for_user:

1
2
3
4
5
class ApplicationController < ActionController::Base
  def after_sign_in_path_for_user(resource)
    user_path(resource)
  end
end


Обратите внимание, что аргумент resource - это объект пользователя, который только что вошел в систему. Вы можете использовать его для создания персонализированного пути перенаправления.