是否有办法让Rails使用created_at和update_at使用我服务器上设置的当前时区添加/更新行?
我见过很多Stack Overflow解决方案,其中人们说明了如何在带有选定时区的Rails视图中显示它。
我还发现了其他Stack Overflow解决方案,声明它应该从我的服务器获取时区并更新created_at和updated_at。至少对于我正在运行的Mac Mini Server来说,情况并非如此。我将它设置为我当地的时区。我还在config / application.rb中设置了config.time_zone = 'Central Time (US & Canada)'
。
我希望能够查看pgAdmin3中的原始数据库数据或某种数据库备份,并知道何时在我的时区创建了记录。
任何帮助将不胜感激。我会继续寻找。
答案 0 :(得分:13)
如果要设置db时区并使用ActiveRecord,请在应用程序配置中添加以下内容:
config.active_record.default_timezone = :local
这将在数据库中使用服务器的时区。
答案 1 :(得分:5)
# 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
请参阅以下链接&gt;&gt; http://api.rubyonrails.org/classes/ActiveSupport/TimeZone.html#method-c-5B-5D
答案 2 :(得分:1)
您还可以运行rake time:zones:all
以列出Rails知道的所有时区。然后,您可以相应地更新application.rb中的设置。