Respuestas:
Para borrar todo esto, use el método reset_session en un controlador.
reset_session
Aquí está la documentación sobre este método: http://api.rubyonrails.org/classes/ActionController/Base.html#M000668
Restablece la sesión borrando todos los objetos almacenados e inicializando un nuevo objeto de sesión.
¡Buena suerte!
sesión en rails es un objeto hash. Por lo tanto, cualquier función disponible para borrar hash funcionará con sesiones.
session.clear
o si se deben destruir claves específicas:
session.delete(key)
Probado en rieles 3.2
adicional
La gente ha mencionado que session={}
es una mala idea. Al respecto session.clear
, Lobati comenta: Parece que probablemente sea mejor usar reset_session [que session.clear], ya que hace alguna otra limpieza más allá de lo que hace session.clear. Internamente, reset_session llama a session.destroy , que a su vez llama a clear y algunas otras cosas.
reset_session
, ya que realiza algunas otras tareas de limpieza más allá de lo que session.clear
hace. Internamente, reset_session
llamadassession.destroy
, que a su vez también llama a clear
otras cosas .
Para borrar solo ciertos parámetros, puede usar:
[:param1, :param2, :param3].each { |k| session.delete(k) }
agregue este código a su ApplicationController
def reset_session
@_request.reset_session
end
(No sé por qué nadie mencionó este código ya que solucionó mi problema) http://apidock.com/rails/ActionController/RackDelegation/reset_session
@_request.reset_session
y reset_session
ambos funcionan y tal vez hacen lo mismo.