1
在生产中,方法Time.zone.now
始终返回相同的值,而Time.now
返回 正确的系统时间。Time.zone.now锁定生产
这里一个例子:
banner.rb
scope :active, where("'#{Time.zone.now}' between start_date and end_date")
日志此范围的:
SELECT `banners`.* FROM `banners` WHERE ('2013-03-06 08:06:46 -0300' between start_date and end_date) AND ((`banners`.`store_id` = 1 AND `banners`.`spot_id` = 3 AND `banners`.`at_home` = 1))
Time.zone.now
总是2013年3月6日08:06 :46 -0300
任何人都知道为什么?