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

Перенаправление разработки после выхода из системы

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

devo docs утверждают, что переопределяют следующее (в вашем контроллере приложений):

def after_sign_out_path_for(resource_or_scope)
  # logic here
end

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

session[:return_to] = request.fullpath

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

4b9b3361

Ответ 1

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

def after_sign_out_path_for(resource_or_scope)
  request.referrer
end