J'utilise le standard active_record_store dans mon application. En environment.rb
je:Basic ActiveRecordStore Le champ updated_at n'est pas mis à jour à chaque requête
config.action_controller.session_store = :active_record_store
Et ma table sessions
a été créé avec rake db:sessions:create
:
create_table :sessions do |t|
t.string :session_id, :null => false
t.text :data
t.timestamps
end
add_index :sessions, :session_id
add_index :sessions, :updated_at
Cependant la colonne updated_at
est pas mis à jour à chaque demande. Il est mis à jour lors de la création de la session (à la même valeur que created_at
, comme prévu) mais pas pour les demandes suivantes.
Bizarrement, si je déclare l'appel explicite suivant environment.rb
alors le champ est mis à jour à chaque demande:
class CGI::Session::ActiveRecordStore::Session
def before_save
self.updated_at = Time.now
end
end
Quelqu'un peut-il expliquer pourquoi cela ne fonctionne pas par défaut? Je cours Rails 2.1.0 - et non, je ne peux pas mettre à niveau Rails pour le moment! :)
Bonjour François. Oui, je mets à jour la session [: user] à chaque requête, mais avec la même valeur – Olly