尝试将redis设置为会话存储

时间:2014-01-03 11:50:53

标签: ruby-on-rails ruby session redis

我一直在寻找不同的Gems for redis作为会话存储,但它们似乎抛出相同/类似的错误,我无法解决。

例如gem 'redis-store'我将它添加到我的gemfile中。以下是我的session_store.rb初始化程序的内容:

MyApp::Application.config.session_store Rack::Session::Redis

这是我在执行rails时遇到的错误:

/development/config/initializers/session_store.rb:5:in `<top (required)>': uninitialized constant Rack::Session::Redis (NameError)

然后我尝试了另一个宝石redis-session-store。以下是使用该gem时初始化程序的内容:

MyApp::Application.config.session_store :redis_session_store,
                                          :db => 0,
                                          :expire_after => 10.minutes,
                                          :key_prefix => "my_app:session:"

这是我启动服务器时遇到的错误:

 /home/workstation/.rvm/gems/ruby-2.0.0-p353/gems/redis-session-store-0.2.1/lib/redis-session-store.rb:16:in `<top (required)>': uninitialized constant ActionController::Session (NameError)

我之前从未配置过,有人能指出我在这里缺少什么吗?

1 个答案:

答案 0 :(得分:4)

您似乎应该使用同一用户提供的redis-rails gem(redis-store)。看起来您当前使用的是rack-based个应用程序。