После запуска clear_all_sessions
вы, вероятно, также сделали недействительным текущий сеанс.Таким образом, после вызова метода ваш current_user
метод, вероятно, вернет сведения о каком-то анонимном пользователе.
То есть два ваших вызова current_user
, вероятно, вернут разных пользователей.В качестве обходного пути попробуйте сначала сохранить значение current_user.id
в переменной вашего метода destroy
и использовать только эту переменную:
def destroy
id = current_user.id
clear_all_sessions id
save_signout_time(id)
reset_session
redirect_to root_path
end