我使用条件和时间范围从“Time.now”到-2小时的查询。
time_range = Time.now-2.hour..Time.now
Model.all(:conditions => { :created_at => (time_range) })
目前,将不会显示超过2小时前创建的所有数据库记录。显示小于2小时“旧”的所有记录。
E.g在当前时间创建的一些记录,根据我的查询将显示 我正确的结果,
但是,如果我来到第二天并期待相同的结果,我将无法看到它。
所以,我的目标是在时间范围内显示记录......
答案 0 :(得分:1)
试试这个:
('created_at > ?', 2.hours.ago)
答案 1 :(得分:0)
要执行时间范围,您需要将其拆分为查询中的开始和结束时间。但是,如果您的某个时间是Time.now,并且以后永远不会创建任何记录,即使用created_at> Time.now,那么你可以跳过Time.now规范。
所以,通常是
@models = Model.all(:conditions => ["created_at >= ? and created_at <= ?", time_a, time_b])
当time_b永远不会在将来,这可以简化为
@models = Model.all(:conditions => ["created_at >= ? ", time_a])