MySQL - 为 Rails 应用程序设置默认时区

标签 mysql ruby-on-rails ruby timezone

我在 config/environments/Production.rb 中使用此设置:

  config.time_zone = 'Eastern Time (US & Canada)'
  config.active_record.default_timezone = 'Eastern Time (US & Canada)'  

但是当我将应用程序部署到服务器时,我看到这些警告消息:

warning: :database_timezone option must be :utc or :local - defaulting to :local

如何解决这个警告?我应该使用 :utc 添加另一个 config.active_record.default_timezone 吗?

Rails 无法使用我上面设置的时区?

谢谢。

最佳答案

来自:http://guides.rubyonrails.org/configuring.html#configuring-active-record

config.time_zone 设置应用程序的默认时区,并 为 Active Record 启用时区感知。

config.active_record.default_timezone 判断是否使用 拉取时的 Time.local (如果设置为 :local)或 Time.utc (如果设置为 :utc) 来自数据库的日期和时间。默认为:本地。

因此,基于此,如果您想将默认时区覆盖为东部时间,您需要执行以下操作:

config.time_zone = 'Eastern Time (US & Canada)'
config.active_record.default_timezone = :local

请告诉我这是否有帮助!

关于MySQL - 为 Rails 应用程序设置默认时区,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37633534/

相关文章:

php - Yii Rest api 在数据库中插入数据

ruby-on-rails - 未添加 RailsAdmin 所需的中间件(RuntimeError)

ruby - 使用 Puppet list 自动创建 Nagios 主机组

ruby-on-rails - 使用 Mechanize gem 提取数据。使用 CSS header 解析数据

php - 加入 3 表问题

c# - 错误 SQL :The conversion of a varchar data type to a datetime data type resulted in an out-of-range value

MySQL存储过程记住过时的临时表模式,导致未知列错误

ruby-on-rails - Rails button_to : how to specify the controller?

ruby-on-rails - 使用单个 form_with 在 Rails 中创建和编辑嵌套资源

ruby-on-rails - 带 I18n 的日期名称