Parece que no puedo encontrarlo en ninguna parte ... ¿Cómo borro/destruyo/restablezco/vacío/borro la sesión de un usuario en Rails? No solo un valor, sino todo.¿Cómo vaciar/destruir una sesión en rieles?
Respuesta
Para borrar todo, utilice 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 por la limpieza de todos los los objetos almacenados dentro y inicializar un nuevo objeto de sesión.
¡Buena suerte!
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 destruido:
session.delete(key)
Probado en carriles de 3,2
¿Alguien tiene alguna idea sobre los méritos de este método frente al recomendado por Gdeglin? –
Esto se puede usar cuando desea retener otros parámetros pero elimina un par de valores de clave en particular. – Lavixu
Supongo que me refería al uso de 'session.clear' o' session = {} 'frente al uso de' reset_session'. ¿Son idénticos? –
Para borrar sólo ciertos parámetros, puede utilizar:
[:param1, :param2, :param3].each { |k| session.delete(k) }
a eliminar una sesión de usuario
session.delete(:user_id)
¡Cuidado, puede eliminar el registro del usuario de la base de datos! – Arthur
@Arthur Eso no es verdad. Pero solo eliminará la clave: ID_usuario de la sesión y no toda la sesión –
añadir este código a su ApplicationController
def reset_session
@_request.reset_session
end
(no sé por qué nadie por encima de simplemente mencionar el código en que fija mi problema) http://apidock.com/rails/ActionController/RackDelegation/reset_session
Solo una que funcionó para mí. – amingilani
- 1. Rieles Render JSON: ¿sesión perdida?
- 2. rieles, pepino, Carpincho: sesión es no persistieron
- 3. rieles rspec burlones sesión de hash
- 4. rieles: el acceso. Sesión del usuario actual en un modelo (
- 5. Cómo evitar una sesión
- 6. ¿Cómo valido una fecha en los rieles?
- 7. de cómo escribir una matriz en rieles
- 8. ¿Cómo verificar si ya se ha cargado una sesión de rieles?
- 9. ¿Cómo elimino una sesión en Symfony2?
- 10. ¿Cómo puedo deshacer una sesión en ScalaQuery?
- 11. ¿Cómo eliminar una sesión específica en asp.net?
- 12. Python: Cómo "bifurcar" una sesión en django
- 13. Iniciar sesión en una aplicación de rieles con Devise y token_authenticatable: "401 no autorizado"
- 14. Jsch Cómo reutilizar una sesión
- 15. cómo agregar una clave principal a una tabla en rieles
- 16. inicio de sesión único entre Vbulletin y aplicaciones de rieles
- 17. Cómo matar una sesión o ID de sesión (ASP.NET/C#)
- 18. Crear una sesión en Django
- 19. Rieles: ¿cómo hacer una serie de cadenas?
- 20. ¿Cómo documentar una aplicación de rieles?
- 21. Cómo guardar http referer en rieles
- 22. ¿Cómo puedo almacenar en caché una columna calculada en rieles?
- 23. cómo importar datos en rieles?
- 24. Recarga parcial en una aplicación de rieles
- 25. Agregar encabezados a una solicitud en rieles
- 26. ¿Qué almacenar en una sesión?
- 27. Borrando una sesión en ASP.NET
- 28. Rieles - Múltiples dominios de nivel superior y una sola sesión/cookie
- 29. cómo anotar modelos de rieles en rieles versión 3.2.1
- 30. Cómo preinstalar rieles ver rutas en rieles 3.2 (ActionView :: PathSet)
Para las sesiones basadas en bases de datos (que debe uso probable) puede caducar a través de una consulta: http://guides.rubyonrails.org/security.html#session-expiry – m33lky