Перенаправление разработки после выхода - PullRequest
22 голосов
/ 29 июня 2011

Как лучше всего перенаправить пользователя с помощью Devise на страницу, на которой он находится после выхода из системы?

devise docs , скажем, переопределить следующееконтроллер вашего приложения):

def after_sign_out_path_for(resource_or_scope)
  # logic here
end

Что достаточно просто.Однако я устанавливаю предыдущую страницу как переменную сеанса, например:

session[:return_to] = request.fullpath

Проблема в том, что при выходе сеанс уничтожается, и верхний метод выполняется ПОСЛЕ сеансауничтожен, то есть у вас больше нет доступа к нему.Я думаю о том, чтобы поместить его в переменную класса или что-то подобное, но хотел посмотреть, что думает SO.

1 Ответ

33 голосов
/ 29 июня 2011

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

def after_sign_out_path_for(resource_or_scope)
  request.referrer
end
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...