在生产中,方法Time.zone.now
总是返回相同的值,同时Time.now
返回正确的系统时间。
这里有一个例子:
横幅.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-03-06 08:06:46 -0300
有谁知道为什么?