Я не могу найти его где-нибудь... Как удалить/уничтожить/ reset/empty/очистить сеанс пользователя в Rails? Не только одно значение, но и все это.
Как удалить/уничтожить сеанс в рельсах?
Ответ 1
Чтобы очистить все, используйте метод reset_session в контроллере.
reset_session
Здесь документация по этому методу: http://api.rubyonrails.org/classes/ActionController/Base.html#M000668
Сбрасывает сеанс, очищая все объекты, хранящиеся внутри и инициализация нового объекта сеанса.
Удачи!
Ответ 2
сеанс в рельсах является хэш-объектом. Следовательно, любая функция, доступная для очистки хэша, будет работать с сеансами.
session.clear
или если необходимо уничтожить определенные ключи:
session.delete(key)
Протестировано в рельсах 3.2
Ответ 3
Чтобы очистить только определенные параметры, вы можете использовать:
[:param1, :param2, :param3].each { |k| session.delete(k) }
Ответ 4
для удаления сеанса пользователя
session.delete(:user_id)
Ответ 5
добавьте этот код в свой ApplicationController
def reset_session
@_request.reset_session
end
(Не знаю, почему никто выше не упоминает этот код поскольку он исправил мою проблему) http://apidock.com/rails/ActionController/RackDelegation/reset_session