[RUBY] [Rails] Résolution du problème selon lequel le délai d'expiration de la session ne fonctionne pas

supposition

-Définir une méthode de timeout -Même si le code lui-même est correct, la session est considérée comme nulle et la méthode n'est pas traitée correctement et une erreur se produit.

Méthode de temporisation

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] = "Fin du temps."
       redirect_to :login
      end
    end

Lorsque je crée la méthode ci-dessus et que j'essaye de me connecter, une erreur se produit.

NoMethodError (undefined method `>=' for nil:NilClass):
# session[:last_access_time]Est jugé nul.

Solution

Il a été résolu en supprimant le cookie côté navigateur. Probablement parce que j'ai défini la méthode en étant connecté Vous avez peut-être été en colère contre "il n'y a pas de session [: last_access_time]".

Recommended Posts

[Rails] Résolution du problème selon lequel le délai d'expiration de la session ne fonctionne pas
[Rails] Le problème que pry-byebug ne s'arrête pas au point d'arrêt
La séquence d'échappement (\) ne fonctionne-t-elle pas? (pour Mac)
[Railways] Railways ne fonctionne pas lorsque la racine du projet RubyMine est différente du répertoire racine Rails.
[Ruby on Rails] Lorsque l'acquisition de l'identifiant du paramètre ne s'est pas bien déroulée
À propos du fait que: nth-child (-n + m) ne fonctionne pas comme prévu dans le sélecteur de jsoup
Comment résoudre le problème que l'image du site Web ne s'affiche pas après le déploiement sur heroku dans Rails 5
[Firebase] Firebase Auth currentUser ne devient pas nul même après la désinstallation de l'application
Correction d'un problème où l'événement de défilement ne se déclenchait pas dans JQuery
[Rails] Paramètre de délai d'expiration de session dans l'appareil
Comment interagir avec un serveur qui ne plante pas l'application
[Rails] À propos de l'erreur selon laquelle l'image n'est pas affichée dans l'environnement de production
Lorsque le formulaire tel que Select of Materialize ne fonctionne pas correctement
[Rails] La vidéo n'est pas lue avec video_tag
La comparaison Java Integer (==) ne fonctionne pas correctement
le changement de largeur de tabulation d'éclipse ne fonctionne pas
JavaScript (vanilla) ne répond pas dans Rails.
Résoudre le problème du sac à dos avec une planification dynamique
Comment faire fonctionner @Transactional qui ne fonctionne pas si vous ne l'utilisez pas correctement
Méthode de réglage qui ne change pas la taille même si le CSS est changé
Si le raccourci Ctrl + ne fonctionne pas dans Eclipse, la désactivation de Welcome peut aider
Le problème que le JDK défini dans JAVA_HOME n'apparaît pas même si java -version est exécuté à l'invite de commande