我已将Authlogic实施到我的应用中,但我对表sessions
的感觉感到困惑。
对于两个控制器型号,我都有UsersController
,UserSessionsController
。在数据库中 - 表格users
和表格sessions
。
表sessions
一直是空的。我尝试将此表重命名为user_sessions
,但同样的情况 - 仍为空表(如果我登录到我的应用,则表中没有添加行session
/ user_session
)。
但我的应用程序运行良好,登录和注销运行良好,同样的注册,如果我测试logged_in_timeout
- 这样做效果很好。
那么,我对会议缺少什么?这让我有点困惑,这个表有什么意义,如果在我的情况下没有保存那里的行,一切似乎都运行正常。
由于
答案 0 :(得分:3)
除非您希望将它们用于处理故障转移和应用程序重新启动等事务,否则实际上并不需要会话数据库表。 UserSession模型可以声明如下,不需要扩展AR。
class UserSession < Authlogic::Session::Base
...
end
答案 1 :(得分:0)
Steakchaser对于不需要在数据库中存储会话是正确的。但是,为了更直接地回答您的问题,它无效的原因是config.session_store
config/initializers/session_store.rb
默认为:cookie_store
;如果将其设置为:active_record_store
,则会话表将按预期填充。
可以找到有关如何为会话实施ActiveRecord的更多说明here。