Атрибут Time изменяется при сохранении в базе данных в Rails

У меня есть модель, называемая событием, с атрибутом времени. Я устанавливаю его в Time.now, и я регистрирую время на объекте перед сохранением, его второе или два после текущего времени, как и ожидалось. Но как только объект будет сохранен и затем найден в базе данных, время будет отличаться, а часть даты будет 1 января 2000 года. Что вызывает это и что я могу сделать, чтобы убедиться, что мои времена сохранены правильно? EDIT: тип столбца - время, база данных - SQLite.

+2
26 июл. '14 в 4:30
источник поделиться
1 ответ

Похоже, вы можете сохранить объект time а не объект date.

Активная запись позволяет использовать объекты time, date и datetime и datetime.

Однако, если вы используете объект time или date, они все еще являются (плохим способом объяснить это, см. Связанный ответ ниже для получения более подробной информации) полных объектов datetime. Когда вы их прочтете, дата будет присутствовать на объектах time (как правило, с 1 января 2000 года).


Что я могу сделать, чтобы убедиться, что мои времена сохранены правильно?

Если для этого поля важно сохранить/прочитать полное время datetime, вам может потребоваться изменить миграцию, представляющую вашу модель:

object.datetime

, , скорее, чем:

object.time

См. Этот ответ для получения более подробной информации: qaru.site/questions/18325/...

+3
26 июл. '14 в 5:05
источник

Посмотрите другие вопросы по меткам или Задайте вопрос