关于ruby:Rails 4 – 想拥有Rails使用我的本地时区创建了created_at和updated_at

Rails 4 - Want To Have Rails Use My Local Time Zone for created_at & updated_at

有没有办法让Rails使用created_at和update_at使用我服务器上设置的当前时区添加/更新行?

我见过很多Stack Overflow解决方案,其中人们说明了如何在具有选定时区的Rails视图中显示它。

我还发现了其他Stack Overflow解决方案,声明它应该从我的服务器获取时区并更新created_at和updated_at。 至少对于我正在运行的Mac Mini服务器来说,情况并非如此。 我将它设置为我当地的时区。 我还在config / application.rb中设置了config.time_zone = 'Central Time (US & Canada)'

我希望能够查看pgAdmin3中的原始数据库数据或某种数据库备份,并知道何时在我的时区创建了记录。

任何帮助,将不胜感激。 我会继续寻找。


如果要设置db时区并使用ActiveRecord,请在应用程序配置中添加以下内容:

1
config.active_record.default_timezone = :local

这将在数据库中使用服务器的时区。


1
2
3
4
5
6
7
8
# application.rb:
class Application < Rails::Application
  config.time_zone = 'Eastern Time (US & Canada)'
end

Time.zone      # => #<TimeZone:0x514834...>
Time.zone.name # =>"Eastern Time (US & Canada)"
Time.zone.now  # => Sun, 18 May 2008 14:30:44 EDT -04:00

请参考以下链接>> http://api.rubyonrails.org/classes/ActiveSupport/TimeZone.html#method-c-5B-5D


您还可以运行rake time:zones:all以列出Rails知道的所有时区。 然后,您可以相应地更新application.rb中的设置。