[RUBY] [Rails] Behebung des Problems, dass das Sitzungszeitlimit nicht funktioniert

Annahme

-Definieren Sie eine Timeout-Methode -Obwohl der Code selbst korrekt ist, wird die Sitzung als Null festgelegt, und die Methode wird nicht ordnungsgemäß verarbeitet, und es tritt ein Fehler auf.

Timeout-Methode

sessions_controller.rb



  def create
# ...

   session[:last_access_time] = Time.current

# ...
  end

application_controller.rb


  TIMEOUT = 5.minutes

  def time_out
     if session[:last_access_time] > TIMEOUT.ago
       session[:last_access_time] = Time.current
     else
       session.delete(:user_id)
       flash[:danger] = "Zeitüberschreitung."
       redirect_to :login
      end
    end

Wenn ich die obige Methode erstelle und dann versuche, mich anzumelden, tritt ein Fehler auf.

NoMethodError (undefined method `>=' for nil:NilClass):
# session[:last_access_time]Wird als Null beurteilt.

Lösungen

Es wurde durch Löschen des Cookies auf der Browserseite behoben. Wahrscheinlich, weil ich die Methode beim Anmelden definiert habe Möglicherweise waren Sie verärgert über "Es gibt keine Sitzung [: last_access_time]".

Recommended Posts

[Rails] Behebung des Problems, dass das Sitzungszeitlimit nicht funktioniert
[Rails] Das Problem, dass pry-byebug nicht durch den Haltepunkt stoppt
Funktioniert die Escape-Sequenz (\) nicht? (für Mac)
[Railways] Railways funktioniert nicht, wenn sich das RubyMine-Projektstammverzeichnis nicht im Rails-Stammverzeichnis befindet.
[Ruby on Rails] Wenn die ID-Erfassung des Parameters nicht gut lief
Zu der Sache, dass: n-tes Kind (-n + m) im Selektor von jsoup nicht wie beabsichtigt funktioniert
So lösen Sie das Problem, dass das Website-Image nach der Bereitstellung auf Heroku in Rails 5 nicht angezeigt wird
[Firebase] Firebase Auth currentUser wird auch nach der Deinstallation der App nicht null
Es wurde ein Problem behoben, bei dem das Bildlaufereignis in JQuery nicht ausgelöst wurde
[Rails] Einstellung des Sitzungszeitlimits im Gerät
So interagieren Sie mit einem Server, der die App nicht zum Absturz bringt
[Schienen] Über den Fehler, dass das Bild nicht in der Produktionsumgebung angezeigt wird
Wenn das Formular wie "Auswählen von Materialisieren" nicht ordnungsgemäß funktioniert
[Rails] Video wird nicht mit video_tag abgespielt
Der Java Integer-Vergleich (==) funktioniert nicht richtig
Die Änderung der Breite der Eclipse-Registerkarte funktioniert nicht.
JavaScript (Vanille) reagiert in Rails nicht.
Lösung des Rucksackproblems mit dynamischer Planung
So funktioniert @Transactional, das nicht funktioniert, wenn Sie es falsch verwenden
Einstellungsmethode, die die Größe nicht ändert, auch wenn das CSS geändert wird
Wenn die Tastenkombination Strg + in Eclipse nicht funktioniert, kann das Deaktivieren der Begrüßung hilfreich sein
Das in JAVA_HOME festgelegte JDK-Problem tritt auch dann nicht auf, wenn die Java-Version an der Eingabeaufforderung ausgeführt wird