我有一个 Rails 应用程序,它显示事件事件(今天或之后的事件)。
scope :active, where("event_date >= ?", Date.today).order("event_date ASC")
在本地一切顺利。但是在生产服务器上,查询正在使用部署日期进行比较。
这是日志
SELECT "events".* FROM "events"WHERE "events"."school_id"= 32 AND (roster_id in (45) or roster_id IS NULL) AND (event_date >= '2014-09-18' ) 按事件日期升序排序
但是如果在生产环境中从控制台检查,它显示正确
1.9.3-p448 :001 > Date.today
=> Fri, 19 Sep 2014
服务器在 AWS EC2 上
非常感谢任何帮助。
最佳答案
尝试将其放入 lambda 中:
scope :active, -> { where("event_date >= ?", Date.today).order("event_date ASC") }
可能 Date.today
在代码加载(即部署)时被评估。
关于ruby-on-rails - Rails Date.today 反射(reflect)了服务器部署日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25928013/