Parece que no puedo encontrarlo en ningún lado ... ¿Cómo elimino / destruyo / restablezco / vacío / borro la sesión de un usuario en Rails? No solo un valor, sino todo ...
133
Parece que no puedo encontrarlo en ningún lado ... ¿Cómo elimino / destruyo / restablezco / vacío / borro la sesión de un usuario en Rails? No solo un valor, sino todo ...
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.
o si se deben destruir claves específicas:
Probado en rieles 3.2
adicional
La gente ha mencionado que
session={}
es una mala idea. Al respectosession.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.fuente
reset_session
, ya que realiza algunas otras tareas de limpieza más allá de lo quesession.clear
hace. Internamente,reset_session
llamadassession.destroy
, que a su vez también llama aclear
otras cosas .para eliminar la sesión de un usuario
fuente
Para borrar solo ciertos parámetros, puede usar:
fuente
agregue este código a su ApplicationController
(No sé por qué nadie mencionó este código ya que solucionó mi problema) http://apidock.com/rails/ActionController/RackDelegation/reset_session
fuente
@_request.reset_session
yreset_session
ambos funcionan y tal vez hacen lo mismo.