如何查找特定时间之后的某个时间的所有数据库行

问题描述

|| 我的用户表中有一个“ last_action \”列,该列在用户每次执行操作时都会更新unix时间戳。我想在用户表中选择所有在特定时间(可能是15分钟,此目标是使一个贫民窟用户在线列表)之后在站点上执行过操作的用户。 我想做以下事情...
time = Time.Now.to_i - 900 # save the timestamp 15 minutes ago in a variable 
User.where(:all,:where => :last_action > time)
最好的方法是什么?有没有不使用任何原始sql方法?     

解决方法

        也许这行得通吗?
User.where(\"users.last_action > ?\",15.minutes.ago)
    ,        尝试这个:
time = Time.now.to_i - 900
User.where(\"last_action > #{time}\")
可能有更好/更安全的语法将变量参数放入where子句,但是由于您使用的是整数(时间戳),因此这应该可行并且安全。