Как очистить / уничтожить сеанс в rails?



Я не могу найти его нигде... Как удалить/уничтожить/сбросить/очистить / очистить сеанс пользователя в Rails? Не только одна ценность, но и все остальное..

698   5  

5 ответов:

чтобы очистить все это, используйте метод reset_session в контроллере.

reset_session

вот документация по этому методу:http://api.rubyonrails.org/classes/ActionController/Base.html#M000668

сбрасывает сеанс, очищая все объекты, хранящиеся внутри и инициализация нового объекта сеанса.

удачи!

сеанс в rails-это хэш-объект. Следовательно, любая функция, доступная для очистки хэша, будет работать с сессиями.

session.clear

или если определенные ключи должны быть уничтожены:

session.delete(key)

испытано в рельсах 3.2

добавил

люди, упомянутые session={} - это плохая идея. Относительно session.clear, комментарии Лобати-похоже, вам, вероятно, лучше использовать reset_session [чем сеанс.ясно], как это делает некоторые другие очистки сверх сессии.ясно делает. Внутренне,reset_session называет сессии.уничтожить,который сам называет ясным, а также некоторые другие вещи.

для удаления сеанса пользователя

session.delete(:user_id)

очистить только определенные параметры, вы можете использовать:

[:param1, :param2, :param3].each { |k| session.delete(k) }

добавьте этот код в свой ApplicationController

def reset_session
  @_request.reset_session
end

( Не знаю, почему никто выше просто не упоминает этот код как это исправило мою проблему ) http://apidock.com/rails/ActionController/RackDelegation/reset_session

Comments

    Ничего не найдено.