如果您尝试在 ActiveRecord 范围内评估当前日期,则可能是不正确的,因为这是在加载应用程序代码时而不是在运行时评估的。您必须在 lambda 中通过它,如下所示:
scope :today, lambda { where(:submitted_at => Date.today.to_time.utc..(Date.today + 1).to_time.utc) }
这是一个时髦的例子,因为发生了时间转换。无论如何,我的问题是这还有什么问题?ActiveRecord 范围是我唯一可以依靠在运行时不评估对 Date 的调用的地方吗?