J'émigre une application existante de Rails 2 à Rails 3. Dans l'ancien fichier de l'environnement, SqlSessionStore a été mis en place avec:SqlSessionStore dans Rails 3
ActionController::CgiRequest::DEFAULT_SESSION_OPTIONS.update(:database_manager => SqlSessionStore)
SqlSessionStore.session_class = MysqlSession
Lorsque vous essayez de démarrer mon application dans Rails 3, I « m dit:
DEPRECATION WARNING: config.action_controller.session= has been deprecated. Please use config.session_store(name, options) instead. (called from config/application.rb:35)
/opt/ruby-enterprise-1.8.7-2010.02/lib/ruby/gems/1.8/gems/rake-0.8.7/lib/rake.rb:2503:in `const_missing': uninitialized constant ActionController::CgiRequest (NameError)
est-il un moyen facile de traduire ce concept dans Rails 3, ou dois-je revoir la façon dont les sessions sont traitées?
J'ai pris un coup d'œil à ActiveRecordStore, mais je l'ai lu qu'il a des performances problèmes, et c'est pourquoi cette application utilisait [SqlSessionStore] (http://railsexpress.de/blog/articles/2005/12/19/roll-your-own-sql-session-store/). Ces problèmes de performances ont-ils été améliorés dans Rails 3 ou existe-t-il un moyen d'utiliser SqlSessionStore avec les nouveaux Rails? – jrdioko
ActiveRecordStore devrait fonctionner sur tous les sites, sauf les plus grands. Si vous rencontrez des problèmes de performances, vous devez utiliser memcached pour vos sessions. Ne pas optimiser tôt, les sessions sont très probablement une partie négligeable de votre vitesse de requête. Cela dit - non, je ne trouve aucune mention de sqlsessionstore pour rails3. Peut-être qu'ils l'ont fait, mais je n'en ai aucune idée. – Kevin