ruby on rails - rails - ¿Cómo vaciar/destruir una sesión en rieles?
security rails (5)
Parece que no puedo encontrarlo en ninguna parte ... ¿Cómo borro / destruyo / reinicio / vacío / borro la sesión de un usuario en Rails? No solo un valor, sino todo.
Para borrar solo ciertos parámetros, puede usar:
[:param1, :param2, :param3].each { |k| session.delete(k) }
Para borrar todo, 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 limpiando todos los objetos almacenados e inicializando un nuevo objeto de sesión.
¡Buena suerte!
agregue este código a su ApplicationController
def reset_session
@_request.reset_session
end
(No sé por qué nadie mencionó este código antes, ya que solucionó mi problema) http://apidock.com/rails/ActionController/RackDelegation/reset_session
para eliminar una sesión de usuario
session.delete(:user_id)
session in rails es un objeto hash. Por lo tanto, cualquier función disponible para borrar el hash funcionará con las sesiones.
session.clear
o si las claves específicas tienen que ser destruidas:
session.delete(key)
Probado en rieles 3.2