3

既存のアプリケーションを Rails 2 から Rails 3 に移行しています。古い環境ファイルでは、SqlSessionStore は次のように設定されていました。

ActionController::CgiRequest::DEFAULT_SESSION_OPTIONS.update(:database_manager => SqlSessionStore)
SqlSessionStore.session_class = MysqlSession

Rails 3 でアプリケーションを起動しようとすると、次のように表示されます。

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)

この概念を Rails 3 に変換する簡単な方法はありますか?それとも、セッションの処理方法を再検討する必要がありますか?

4

1 に答える 1

3

あなたはapplication.rbでこのようなものが欲しい

module MyApp
  class Application < Rails::Application
    config.session_store :active_record_store

こちらのドキュメントと質問を参照してください: http://apidock.com/rails/ActiveRecord/SessionStore

于 2010-10-18T05:07:23.837 に答える