首页 > 解决方案 > 使用 rails 控制台更改记录中的日期字段

问题描述

我有一个对象存储在我的类型数据库中time。在 Rails 控制台中,如果我通过它的 ID 找到这个特定的记录,我会得到以下输出:

 id: 365,
 from_hours: Sat, 01 Jan 2000 01:00:00 UTC +00:00,
 to_hours: Sat, 01 Jan 2000 12:30:00 UTC +00:00

我想将该from_hours字段更新为Sat, 01 Jan 2000 13:00:00 UTC +00:00

我该如何处理?

我试过用MyRecord.find(365).update(from_hours: Sat, 01 Jan 2000 13:00:00 UTC +00:00)没用。提前致谢!

标签: ruby-on-railsrubyrails-console

解决方案


如果您要from_hours: Sat, 01 Jan 2000 01:00:00 UTC +00:00作为变量,请使用

MyRecord.find(365).update(from_hours: from_hours)

否则使用引号内的时间,例如

MyRecord.find(365).update(from_hours: 'Sat, 01 Jan 2000 13:00:00 UTC +00:00')

我建议不要直接使用 update 因为record也可以返回 nil 所以更好用

if record = MyRecord.find(365)
  record.update(from_hours: 'Sat, 01 Jan 2000 13:00:00 UTC +00:00')
end

推荐阅读