Non riesco a trovarlo da nessuna parte ... Come faccio a cancellare/distruggere/resettare/svuotare/cancellare la sessione di un utente in Rails? Non solo un valore ma il tutto ..Come svuotare/distruggere una sessione nei binari?
risposta
Per cancellare l'intera cosa utilizzare il metodo reset_session in un controller.
reset_session
Ecco la documentazione su questo metodo: http://api.rubyonrails.org/classes/ActionController/Base.html#M000668
Ripristina la sessione sgombrare tutti gli oggetti memorizzati all'interno e inizializzare un nuovo oggetto di sessione.
Buona fortuna!
session in rails è un oggetto hash. Quindi qualsiasi funzione disponibile per cancellare l'hash funzionerà con le sessioni.
session.clear
o se le chiavi specifiche devono essere distrutti:
session.delete(key)
testato in rotaie 3.2
Qualcuno ha qualche idea sul merito di questo metodo rispetto a quello raccomandato da Gdeglin? –
Può essere utilizzato quando si desidera conservare altri parametri, ma eliminare una particolare coppia di valori chiave. – Lavixu
Suppongo che mi stavo riferendo all'uso di 'session.clear' o' session = {} 'rispetto all'uso di' reset_session'. Sono identici? –
Per cancellare solo alcuni parametri, è possibile utilizzare:
[:param1, :param2, :param3].each { |k| session.delete(k) }
a elimina la sessione di un utente
session.delete(:user_id)
Attenzione, puoi cancellare il record utente dal database! – Arthur
@Arthur Questo non è vero. Ma cancellerai solo la chiave: user_id dalla sessione e non l'intera sessione –
aggiungere questo codice al ApplicationController
def reset_session
@_request.reset_session
end
(non so perché nessuno sopra basta citare questo codice come è risolto il mio problema) http://apidock.com/rails/ActionController/RackDelegation/reset_session
Solo una che ha funzionato per me. – amingilani
- 1. Come convalidare una data nei binari?
- 2. Forme dinamiche nei binari
- 3. HTTP Registrazione nei binari?
- 4. Aggiungere intestazioni a una richiesta nei binari
- 5. come aggiungere una chiave primaria a una tabella nei binari
- 6. SSL parziale nei binari
- 7. Ordina alfabeticamente nei binari
- 8. Qual è il modo migliore per cancellare una variabile di sessione nei binari?
- 9. Come troncare una tabella di join nei binari?
- 10. Come timeout dei messaggi flash nei binari
- 11. Come si formatta il datetime nei binari?
- 12. Come ottenere il percorso corrente nei binari
- 13. Come impostare la locale predefinita nei binari
- 14. cache di pagina nei binari
- 15. Confronto delle date nei binari
- 16. Chiave esterna nei binari 4
- 17. Esiste un modo per impalcare una risorsa singleton nei binari?
- 18. Rimuovere la migrazione passata nei binari
- 19. Lettura dei dati di intestazione nei binari
- 20. Il modo migliore per implementare una "pagina infinita" nei binari?
- 21. Quando creare un nuovo controller nei binari
- 22. Interrogazione per intervallo di date nei binari
- 23. Generazione di un url esterno nei binari
- 24. Parametri non ammessi nei binari 4
- 25. nascondi automaticamente i messaggi flash nei binari
- 26. Errore di caricamento PG pg_ext nei binari
- 27. Filtraggio delle query ActiveRecord nei binari
- 28. carico caricatosi e carico lento nei binari
- 29. Messaggi flash visualizzati due volte nei binari
- 30. Unione di due/tre record nei binari
Per le sessioni basate su database (che si dovrebbe probabilmente uso) puoi scadere tramite una query: http://guides.rubyonrails.org/security.html#session-expiry – m33lky