Rails 4.2不会更新日期时间字段

时间:2015-04-25 22:14:06

标签: ruby-on-rails datetime activerecord

我想我发现了一个错误,但我不是百分之百确定它是否是一个或我做错了什么。我正在设置这样的时区:

inside application.rb

...
config.i18n.default_locale = :en config.time_zone = 'Melbourne'
config.active_record.default_timezone = 'Melbourne'
...

当我使用时间戳列(created_atupdated_at)更新模型时,它不会更新它们。问题是由这一行config.active_record.default_timezone = 'Melbourne'引起的(当我删除它时,它工作正常)。查询似乎很好但是当你重新加载模型时,时间戳是零。我认为问题出现在所有日期时间列中,并且您使用的数据库并不重要(我设法在postgres和sqlite中重现它)。

这是我期望的东西,因为我忘了配置某些东西或者它是一个错误吗?

1 个答案:

答案 0 :(得分:1)

config.active_record.default_timezone只接受两个值:

  • :local
  • :utc

你可以做的是设置:

config.time_zone = 'Melbourne'

然后

config.active_record.default_timezone = :local

会做到这一点。