【问题标题】:Rails 4.2: datetime attribute not being savedRails 4.2:日期时间属性未保存
【发布时间】:2016-08-08 19:51:28
【问题描述】:

我在我的用户表中使用了一个名为:subscription_active_untill 的属性,它的类型是datetime,我试图在其中保存一个日期时间戳,但它没有被保存。例如,在 rails 控制台执行当前命令

User.find(3).update(:subscription_active_untill => 1473363930)

它在控制台中返回true,但是当我看到使用User.find(3) 的记录时,:subscription_active_untill 属性仍然是nill。可能是什么问题?

注意:我可以毫无问题地更新同一记录的任何其他属性,问题出在这个特定属性上。

【问题讨论】:

  • 如果传递标准的日期时间格式会怎样? smtg 喜欢2001-02-03T04:05:06+00:00
  • 是的,我想通了。我必须以 UTC 格式而不是 UNIX 时间戳提交。还是谢谢。

标签: ruby-on-rails datetime console


【解决方案1】:

问题已经解决,上面我试图保存错误的日期时间格式(即 unix 时间戳格式)。我必须将其转换为正确的格式。因此,执行以下命令可以正确保存属性。

User.find(3).update(:subscription_active_untill => 2016-09-08 20:14:30 UTC)

要将 UNIX 时间戳转换为 UTC 格式,我们可以使用以下代码:

Time.at(1473363930).utc

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-12-30
    • 2016-05-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-08-15
    相关资源
    最近更新 更多