ruby-on-rails - 跟踪用户每日登录功能 Ruby on Rails
问题描述
我有一个快速的问题。我正在编写一个函数,该函数确定用户当天是否登录,作为跟踪每日登录和用户在控制器中增加(或不增加)每个用户的点值的更大努力的一部分。我知道 Devise gem 有 Trackable 模块来为用户记录这些值。但是在整体功能中使用这些方法时,我是否需要跟踪上次登录时间并将其与当前登录时间进行比较。关于如何在用户登录跟踪功能中实现这一点有点困惑。有人能帮忙吗?
解决方案
如果您想自己动手,我认为您可以采用多种方式。
您可以使用 2 列(一列用于当前登录,一列用于先前登录时间戳)扩展您的用户表,并创建登录后回调以更新两列。
您可以创建第二个表(一个用户有许多时间戳)并为您的用户记录每个登录时间戳。然后你可以比较最近的2次登录
但是,您必须考虑会话会保留在 cookie 中,并且登录很大程度上取决于 cookie 存在的时间。也许您想要的是当用户请求或更新登录后门控的资源时?
推荐阅读
- sql - 如何构建一个查询,为员工提取员工 ID 列表,这些员工的值发生在员工独有的日期范围内?
- python - 说python中属性的setter函数就像重载赋值运算符是对的吗?
- machine-learning - 是否需要将多个分类标签从浮点值转换为单热编码
- c# - 分页输出。LINQ、Skip() 和 Take()
- sql - Oracle SQL,用最接近的非缺失值填充缺失值
- c++ - 如何恢复注册表项的有效权限?C++
- php - 如何在某些字符串中查找和替换单引号?
- javascript - 为什么 React.memo 和 shouldComponentUpdate 不一样?
- android - Xamarin.Android 是否有热重载替代方案?
- php - 图片上传错误无法打开流:没有这样的文件或目录,无法移动文件