Ruby on Rails Time.now - PullRequest
       2

Ruby on Rails Time.now

0 голосов
/ 10 сентября 2010

У меня проблемы с работой с Time.now.По какой-то причине, когда я сохраняю объект в БД, он сохраняет его на 2000 год. Я пытаюсь сравнить объект, который я сохранил в БД с Time.now, чтобы проверить, больше ли он, но он всегда возвращаетfalse из-за 2000 года. Кто-нибудь знает, как я могу обойти это?

Мне просто нужно проверить, чтобы убедиться, что прошло 10 минут с момента создания объекта времени по сравнению с Time.now

Ответы [ 2 ]

2 голосов
/ 10 сентября 2010

Похоже, что столбец вашей базы данных имеет тип time, а не datetime или timestamp. При этом будет храниться только время, и при его преобразовании в экземпляр Time в ruby ​​(который поддерживает день, месяц, год и т. Д.) Используются значения по умолчанию для дня, месяца и года, поэтому вы видите 2000 год

Вам, вероятно, нужно обновить столбец базы данных, чтобы он был datetime или timestamp, если в этом проблема, так как кажется, что вам все равно понадобятся части дня, месяца и года. В этом случае ваши сравнения будут работать.

0 голосов
/ 10 сентября 2010

created_at < 10.minutes.ago должно работать

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...