【发布时间】:2016-10-04 12:34:52
【问题描述】:
我需要编写一个范围(或方法)来根据一天中的时间查询事件 - 基本上我希望有“未来”和“过去”事件 - 但在早上 5 点开始的偏移量。
用例是一家夜总会。凌晨 1 点,活动仍在继续,门卫仍然需要使用活动,就好像它即将到来一样。但是到凌晨 5 点,活动结束了,业主们现在想看看进展如何。
我有这样的范围(日期是日期时间):
scope :future, -> { where("date >= ?", Date.today + 5.hours) }
scope :past, -> { where("date < ?", Date.today + 5.hours) }
但这不起作用。有人对我如何做到这一点有任何见解吗?
编辑:永远喜欢反对者!我不知道如何更清楚地表达这一点。在活动日期凌晨 5 点,我希望活动属于过去的范围。非常简单的问题/问题。祝你有美好的一天。
【问题讨论】:
-
你有两个
scopes同名。 -
抱歉打错了。
-
“根本不工作”是什么意思?你预计会发生什么,实际发生了什么?帮助我们帮助您。
-
那么如果现在是凌晨 1 点,那么接下来的四个小时应该算“过去”吗?
-
不,如果是凌晨 1 点,距离过去还有 4 个小时。想想夜总会……事件仍然需要出现在门卫面前。但到了凌晨 5 点,活动就结束了,业主们想看看活动进展如何。
标签: ruby-on-rails ruby time