如何让Jbuilder始终返回UTC时间?

时间:2014-07-27 15:06:36

标签: ruby-on-rails json datetime timezone jbuilder

我有一个应用程序,用户提交几个日期和时间没有时区信息。控制器接收这些日期时间,将它们解释为太平洋区域中的日期时间,并以UTC格式将它们保存到数据库中。然后控制器返回一个用Jbuilder构建的JSON,它包含这些日期时间。我希望这些日期时间以UTC格式返回,但不必明确地将它们中的每一个转换为UTC。有没有办法在Jbuilder中全局指定此转换?

这里有一些示例代码来说明问题:

# ActiveRecord has the default configuration, i.e. UTC

Time.use_zone('Pacific Time (US & Canada)') do
  p = Party.new(:started_at => "2014-07-27 15:00")
  p.save
end
Jbuilder.encode do |json|
  json.started_at p.started_at.utc
  # => "{\"started_at\":\"2014-07-27T22:00:00.000Z\"}"
  # Without .utc
  # => "{\"started_at\":\"2014-07-27T15:00:00.000-07:00\"}"
end

如何让JBuilder以UTC格式返回日期时间(最初在太平洋时区),而不必在每个字段上明确添加.utc

0 个答案:

没有答案