我想使用ActiveRecord :: SessionStore模块将会话数据存储在数据库中。我一直在寻找这个没有成功的时间。要么我没有使用正确的搜索条件,要么我对一些非常明显的东西视而不见。
我在我的代码中使用了此语句require ActiveRecord::SessionStore::Session
来启用具有活动记录的会话处理。它带有错误未初始化的常量ActiveRecord :: ActionDispatch 。我假设我已经安装了actiondispatch模块。我是对的吗?
请记住,这是我第一次使用Ruby-Sinatra。我来自PHP。
那么,我应该使用什么来使Sinatra使用ActiveRecord使用基于数据库的会话?
答案 0 :(得分:2)
我最终通过将uninitialized constant ActiveRecord::ActionDispatch
gem添加到我的应用程序的Gemfile并要求actionpack
来解决action_dispatch
错误。您可能还需要require 'logger'
答案 1 :(得分:1)
Sinatra是一个基于Rack的应用程序,允许添加中间件。中间件可以插入任何基于Rack的框架。 在Sinatra Book
中搜索config.ru的引用所以你要在你的应用程序的根目录中创建一个config.ru文件。 并把这样的东西
require 'my_app'
use ActiveRecord::SessionStore
run MyApp