40

Rails 3.1 建议运行

rails generate session_migration

然而,这会产生完全相同的迁移

rake db:sessions:create

但是我使用 rails 4.0 的设置都无法识别这些命令

错误是:

找不到生成器 session_migration。

不知道如何构建任务 'db:sessions:create'

分别。

我跑了:

宝石安装'activerecord-session_store'

如何让它工作,以便我可以存储大于 4kb 的购物车?

4

1 回答 1

60

随着 Rails 的一部分朝着更好的模块化方向发展,ActiveRecord 会话存储已从 Rails 中提取到它自己的 gem 中。您需要在您的中包含如下所示的 gemGemfile才能访问rake任务和相关功能。

gem 'activerecord-session_store', github: 'rails/activerecord-session_store'

有关更多说明,请参阅上面链接的 gem 的 README,但您仍然需要在安装 gem 后运行以下命令

rails generate active_record:session_migration

然后你需要修改config/initializers/session_store.rb看起来像这样

MyApp::Application.config.session_store :active_record_store, :key => '_Application_session'

或者

Rails.application.config.session_store :active_record_store, :key => '_Application_session'

取决于您的 Rails 版本。

于 2013-07-15T14:03:13.223 回答