2009-09-03 1 views
5

Apparentemente, dopo l'aggiornamento a Rails 2.3, la memoria di sessione ha smesso di funzionare. Ho usato per avere questo:Gestione sessione in Rails (2.3)

sessione: session_expires => 3.years.from_now

nel mio application_controller.rb, ma ora ogni volta che chiudere il browser (Chrome), la sessione scade. Ho letto da qualche parte che session_expires avrebbero cambiato in expire_after, ma

sessione: expire_after => 3.years.from_now

non ho fatto nulla di buono eihter.

risposta

3

Ok, non so perché "sessione: expire_after => ..." non ha funzionato, ma ho preso a lavorare con questo:

ActionController :: Base.session_options [: expire_after] = 3 .years

+0

Dolce ha funzionato per me (non è più una sessione del browser). O impostandolo esplicitamente lì o all'interno del blocco ActionController :: Base.session = {} ha funzionato entrambi (all'interno di config/initializers/session_store.rb – rogerdpack

2

Inserisci questo nel tuo ApplicationController e appena la tua sessione scade ne verrà generato uno nuovo.

before_filter :change_session_expiration_time 

    def change_session_expiration_time  
     request.session_options[:expire_after] = 1.minute 
    end 
+0

Grazie per cui ha funzionato per me – Ramanavel