2010-08-02 5 views
0

HIvérifier les événements qui sont sur demain dans les rails?

Je voudrais écrire une méthode qui retourne tous les événements qui sont sur demain ou dans les prochaines 24 heures.

par exemple

def tomorrows_events 
    @events = Event.will_occur_in next_24_hours 
end 

i un datetime pour chaque événement qui est appelé afin de l'obtenir serait, @event.date_and_time

i ont la pierre précieuse logique de recherche installé, mais ne sais pas si elle prend en charge dates, je ne pouvais rien trouver dessus.

quelle serait la meilleure façon de l'écrire? Y at-il quelque chose dans la logique de recherche que je peux utiliser?

grâce

Répondre

4

Event.all(:conditions => { :date_and_time => (Time.now.tomorrow.beginning_of_day)..Time.now.tomorrow.end_of_day})

+0

Oui, utilisez ces méthodes dans ActiveSupport –

+0

est-ce que je n'ai même pas besoin de le pointer vers l'attribut 'date_and_time' de l'événement? désolé mais pouvez-vous s'il vous plaît expliquer votre code et ce que tout fait, im nouveau sur les rails et ce serait une bonne expérience d'apprentissage. vraiment l'apprécier –

+0

Mo, à quoi ressemble la table Events? Comment vérifieriez-vous les événements qui se produiront dans les prochaines 24h s'il n'y a pas de champs dans la table pour cela? –

1

J'ai écrit un plugin qui va vous aider à le faire: http://github.com/radar/by_star.

Vous devriez utiliser cette commande pour elle:

Event.tomorrow(Time.zone.now, :field => "date_and_time") 

Ensuite, il retournera uniquement les résultats pour demain.

+0

semble être un super plug-in, comment puis-je l'installer? –

+0

@Mo: installez-le simplement comme une gemme en utilisant 'gem install by_star'. Devrait fonctionner avec Rails 2 & 3 –

Questions connexes