rails 4.0,rake db:sessions:create

Dav*_*son 38 session ruby-on-rails

Rails 3.1建议运行

rails generate session_migration
Run Code Online (Sandbox Code Playgroud)

但是,这会产生完全相同的迁移

rake db:sessions:create
Run Code Online (Sandbox Code Playgroud)

但是使用rails 4.0我的设置无法识别任何命令

错误是:

找不到生成器session_migration.

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

分别.

我跑了:

gem install'activerecord-session_store'

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

dee*_*our 60

随着Rails的一部分朝着更好的模块化方向发展,ActiveRecord会话存储已经从Rails中提取到它自己的gem中.您需要在您的下面包含gem,Gemfile以获取对rake任务和相关功能的访问权限.

gem 'activerecord-session_store', github: 'rails/activerecord-session_store'
Run Code Online (Sandbox Code Playgroud)

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

rails generate active_record:session_migration
Run Code Online (Sandbox Code Playgroud)

之后你需要修改config/initializers/session_store.rb看起来像这样的东西

MyApp::Application.config.session_store :active_record_store, :key => '_Application_session'
Run Code Online (Sandbox Code Playgroud)

要么

Rails.application.config.session_store :active_record_store, :key => '_Application_session'
Run Code Online (Sandbox Code Playgroud)

取决于您的Rails版本.

  • 更新gemfile后,尝试在控制台中"捆绑安装" (2认同)