我将按照第一个问题的建议使用timeout
。因此,如果一个人浏览了一个帖子,他将被记录到浏览同一帖子的人的列表中,并且该记录将在一段时间(例如5分钟)后过期。
有人建议我使用cache
来实现这一点,但我想我会尝试用Rails关联来做,像下面这样。
post has_many readers
在PostsController#Show
@post.readers.create(user: current_user)
和我需要使此记录在5分钟后过期,以便current_user将从post中删除。自动读者。
这是正确的方法吗?此外,如何设置Reader
模型,以便在创建5分钟后删除任何记录?
您可以在执行查询时检索最新的阅读器:
post.readers.where('created_at >= ?', 5.minutes.ago)
然后你可以有一个后台工作来做清理