使用 rails 控制台更改记录中的日期字段
Changing a date field in a record using the rails console
我的数据库中存储了一个 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)
无济于事。提前致谢!
您需要在 from_hours 参数中添加引号:
MyRecord.find(365).update(from_hours: 'Sat, 01 Jan 2000 13:00:00 UTC +00:00')
使用.update!如果您需要在控制台中获得引发异常。
如果您将 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
也可以 return nil 所以更好用
if record = MyRecord.find(365)
record.update(from_hours: 'Sat, 01 Jan 2000 13:00:00 UTC +00:00')
end
我的数据库中存储了一个 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)
无济于事。提前致谢!
您需要在 from_hours 参数中添加引号:
MyRecord.find(365).update(from_hours: 'Sat, 01 Jan 2000 13:00:00 UTC +00:00')
使用.update!如果您需要在控制台中获得引发异常。
如果您将 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
也可以 return nil 所以更好用
if record = MyRecord.find(365)
record.update(from_hours: 'Sat, 01 Jan 2000 13:00:00 UTC +00:00')
end