J'essaie de créer une requête qui va rechercher les entrées récentes basées sur la colonne 'last_login_at'. Ce champ est datetime avec le fuseau horaire (à savoir Time.zone.now
) Lorsque j'exécuteRequête Ruby on Rails par intervalle datetime (dernières 24, 48, etc ... heures)
User.find(:all, :conditions => ["last_login_at < ?", 24.hours.ago])
Je ne reçois rien.
Sinon je peux définir aujourd'hui comme hier Time.zone.today
et que Time.zone.today - 1.day
et exécuter
User.find(:all, :conditions => ["last_login_at between ? and ?", today, yesterday])
et il retourne encore 0 résultats. Je sais qu'il y a des entrées qui entrent dans cette catégorie.
Il semble que les fuseaux horaires im comparer sont à la fois PST -08: 00, donc je m encore coincé là ... Les étendues nommées devraient fonctionner très bien! merci – Mike
Cela fonctionne très bien, merci. Une note - named_scope a changé en 'scope' (je suis sur Rails 3.2.11). – Blake