【问题标题】:Rails - custom timezone prevents from getting timestampsRails - 自定义时区防止获取时间戳
【发布时间】:2015-10-22 14:59:08
【问题描述】:

我正在使用设计和葡萄

我遇到了时区问题。每当我在环境中设置时区时:

config.time_zone = 'Asia/Dubai'
config.active_record.default_timezone = 'Asia/Dubai'

当我从数据库中获取记录并尝试访问我得到的时间戳之一时

User.first
User.reset_password_sent_at
#=> nil

其中最奇怪的部分是我看到该列在数据库中填充了有效的时间戳。

我尝试通过 Rails 控制台手动运行更新。成功更新记录后,我重新加载,reset_password_sent_at 消失了。我又得到了“nil”。

这可能是什么原因,我该如何克服?

【问题讨论】:

    标签: ruby-on-rails postgresql devise timezone


    【解决方案1】:

    我找到了原因。

    我设置了

    config.time_zone = 'Asia/Dubai'
    config.active_record.default_timezone = 'Asia/Dubai'
    

    我应该只设置应用程序的时间,而不是 ActiveRecord。所以在配置中它应该是这样的:

    config.time_zone = 'Asia/Dubai'
    

    现在我正在从数据库中取回数据。

    【讨论】:

      猜你喜欢
      • 2016-06-20
      • 1970-01-01
      • 2016-08-23
      • 1970-01-01
      • 2012-08-03
      • 1970-01-01
      • 2012-03-23
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多