【发布时间】:2012-03-12 00:53:07
【问题描述】:
如果您尝试在 ActiveRecord 范围内评估当前日期,则可能会不正确,因为这是在加载应用程序代码时而不是在运行时评估的。您必须在 lambda 中传递它,如下所示:
scope :today, lambda { where(:submitted_at => Date.today.to_time.utc..(Date.today + 1).to_time.utc) }
这是一个时髦的例子,因为发生了时间转换。无论如何,我的问题是 这还有什么问题? ActiveRecord 范围是我唯一可以依靠在运行时不评估 Date 调用的地方吗?
【问题讨论】:
标签: ruby-on-rails date activerecord load-order