сравнить дату и время в условиях поиска - PullRequest
2 голосов
/ 01 апреля 2010

Я пытаюсь получить всех пользователей, которые обновляются максимум 90 секунд назад:

User.find(:all, :include => { :core => :image }, 
      :conditions => ["updated_at > ?", Time.now - 90.seconds] )

Но это не работает.

почему

как мне это сделать?

спасибо

Ответы [ 3 ]

2 голосов
/ 01 апреля 2010

Если для config.time_zone в вашем environment.rb задано значение, отличное от UTC, вам нужно сделать

User.find(:all, :include => { :core => :image }, 
      :conditions => ["updated_at > ?", Time.now.utc - 90.seconds] )

Я собираюсь предположить, что изображение является атрибутом ассоциации, называемой ядром?

0 голосов
/ 01 апреля 2010

Это может быть проблема с часовым поясом. Попытайтесь выяснить Time.now - 1.day, если он будет работать, поэтому установите Time.zone в контроллере приложения.

И, во-вторых, вы можете попробовать свою конструкцию без опции: include, если это вызывает вашу проблему

0 голосов
/ 01 апреля 2010

Вам нужно указать users.updated_at

...