Изменение поля даты в записи с помощью консоли rails - PullRequest
0 голосов
/ 06 марта 2020

У меня есть объект, хранящийся в моей базе данных типа time. В консоли Rails, если я нахожу эту конкретную запись по ее идентификатору, я получаю следующий вывод:

 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) безрезультатно. Заранее спасибо!

Ответы [ 2 ]

2 голосов
/ 06 марта 2020

Если вы получаете 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')

. Я бы рекомендовал не использовать обновление напрямую, потому что record также может вернуть ноль, поэтому лучше использовать

if record = MyRecord.find(365)
  record.update(from_hours: 'Sat, 01 Jan 2000 13:00:00 UTC +00:00')
end
1 голос
/ 06 марта 2020

вам нужно добавить кавычки в параметре from_hours:

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

Использовать .update! если вам нужно получить исключения в консоли.

...