Ich kann es anscheinend nirgendwo finden ... Wie lösche / zerstöre / setze / leere / lösche ich die Sitzung eines Benutzers in Rails? Nicht nur ein Wert, sondern das Ganze.
133
Ich kann es anscheinend nirgendwo finden ... Wie lösche / zerstöre / setze / leere / lösche ich die Sitzung eines Benutzers in Rails? Nicht nur ein Wert, sondern das Ganze.
Verwenden Sie die Methode reset_session in einem Controller, um das Ganze zu löschen.
reset_session
Hier ist die Dokumentation zu dieser Methode: http://api.rubyonrails.org/classes/ActionController/Base.html#M000668
Setzt die Sitzung zurück, indem alle darin gespeicherten Objekte gelöscht und ein neues Sitzungsobjekt initialisiert werden.
Viel Glück!
Session in Rails ist ein Hash-Objekt. Daher funktioniert jede Funktion, die zum Löschen von Hash verfügbar ist, mit Sitzungen.
oder wenn bestimmte Schlüssel zerstört werden müssen:
In Schienen getestet 3.2
hinzugefügt
Die Leute haben von erwähnt,
session={}
ist eine schlechte Idee. In Bezug aufsession.clear
Lobati-Kommentare: Es sieht so aus, als ob Sie reset_session [besser als session.clear] verwenden sollten, da es eine andere Bereinigung durchführt, die über die von session.clear hinausgeht. Intern ruft reset_session session.destroy auf , das selbst clear sowie einige andere Dinge aufruft .quelle
reset_session
, als ob Sie wahrscheinlich besser dran sind , da es andere Aufräumarbeiten macht, die über das hinausgehensession.clear
. Internreset_session
Anrufesession.destroy
, die selbstclear
auch einige andere Sachen anrufen .um die Sitzung eines Benutzers zu löschen
quelle
Um nur bestimmte Parameter zu löschen, können Sie Folgendes verwenden:
quelle
Fügen Sie diesen Code Ihrem ApplicationController hinzu
(Ich weiß nicht, warum niemand oben diesen Code erwähnt hat, da er mein Problem behoben hat.) Http://apidock.com/rails/ActionController/RackDelegation/reset_session
quelle
@_request.reset_session
undreset_session
beide arbeiten und machen vielleicht das Gleiche?