我一直在我的应用程序中使用活动管理员,并根据帐户为每个请求设置时区。这一直很有效。
#in initializer
config.prepend_around_action :set_time_zone
# in application controller
def set_time_zone(&block)
Time.use_zone(current_account.time_zone, &block)
end
与CSV下载不一致,过滤器和时间相关字段都使用应用程序默认时区而不是每个请求设置一个。以下是同一记录的示例:create_at
这也会在索引页面和csv上的数据集中产生不一致 - 如果应用了与日期相关的过滤器。