gpt4 book ai didi

ruby-on-rails - 如何将字符串转换为 ActiveSupport::TimeWithZone?

转载 作者:行者123 更新时间:2023-12-04 12:14:36 24 4
gpt4 key购买 nike

我需要更新一个字段(称为 updated_at )。 MySQL 中的字段类型为 datetime ,而类(class)是 ActiveSupport::TimeWithZone .但是日期是像 "10/17/2008" 这样的字符串.我用过 "10/17/2008".to_date (我打算 .to_time.to_datetime ),即使在控制台中 ActiveRecord 类保存成功,数据库中的字段仍然是当前日期。

最佳答案

好的.. 到时候带他们去吧。

一、不建议设置字段名updated_at ,因为这是一个由 Rails 自动填充的“魔法”字段。

如果您想禁用此功能,您可以:

class Foo < ActiveRecord::Base
self.record_timestamps = false
end

在您的类(class)中,但这也会禁用 created_at领域。

最好的选择是在数据库中添加一个新字段(例如 my_updated_at )作为日期,然后 Rails 将自动处理转换,这意味着下一个片段将起作用:
Foo.new({:my_updated_at => "10/17/2008"})

二、如何将字符串解析为 ActiveSupport::TimeWithZone的答案是:
ActiveSupport::TimeZone['UTC'].parse("10/17/2008")

但我认为这对您没有帮助(当然,用您当前的日期/时间更改 UTC)。

关于ruby-on-rails - 如何将字符串转换为 ActiveSupport::TimeWithZone?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2608691/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com