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 называет сессии.уничтожить,который сам называет ясным, а также некоторые другие вещи.
очистить только определенные параметры, вы можете использовать:
[: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