0

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

我想要的实际上与会话表在使用 active_record_store 选项时仅记录最新用户会话的操作方式相反(在某种意义上)config/initializers/session_store.rb

因此,需要一个带有user_idlogin_id/index(加上登录时间和注销时间)的登录表,该表在用户登录或注销时自动编辑,并且不会删除或覆盖旧会话。这是否像其他用户编辑的对象一样需要模型、控制器等?

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

使用 rails 3.2.13, devise, sqlite3 开发数据库

4

1 回答 1

0

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

https://github.com/airblade/paper_trail

https://github.com/collectiveidea/audited

于 2013-07-29T03:40:19.700 回答