Как удалить/уничтожить сеанс в рельсах?

Я не могу найти его где-нибудь... Как удалить/уничтожить/ 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