Ruby on Rails - 如何创建所有登录/会话的表

时间:2013-07-29 02:42:46

标签: ruby-on-rails session

我有一个使用Devise进行用户模型和身份验证的工作应用程序。我想创建一个有效存储用户所有登录的表,以及这些会话的长度。我不需要使用条目存储会话数据。我在Devise中使用“超时”选项,我认为即使用户只是关闭浏览器窗口,我也会确保总是有一个注销时间(?)。

config/initializers/session_store.rb

中使用active_record_store选项时,我想要的仅仅是记录最新用户会话时会话表的操作方式(在某种意义上)实际上是相反的(在某种意义上)

所需要的是一个带有user_idlogin_id/index的登录表(加上登录时间和登出时间),可以在用户登录或退出时自动编辑,并且不会删除或覆盖较旧的会议。这是否需要像其他用户编辑的对象一样的模型,控制器等?

答案可能很简单,但我花了很多时间观察,并没有看到太多人积极想要存储更多这样的用户数据。谢谢你的建议! [我是一名教授为一个基本的网络课程应用做这个,所以我可以让学生在网站上的时间成为他们成绩的一个因素;)

使用rails 3.2.13,devise,sqlite3 for development db

1 个答案:

答案 0 :(得分:0)

如果您不想重新发明轮子,可以查看这两颗宝石。他们提供模型数据更改跟踪:

https://github.com/airblade/paper_trail

https://github.com/collectiveidea/audited