2011-01-01 11 views
1

Ich versuche, alle Datensätze zu erhalten, die ein Datetime-Feld hat (nicht erstellt) in einem bestimmten MonatActive .find Datumzeit von Monat

Eg

month = 1 
@events_this_month = Events.find :all, :conditions => {:date.month => month} 

Offensichtlich nicht dem richtigen Weg, es zu tun (Symbol ist kein Datumsobjekt!), aber ich hoffe, es gibt Ihnen eine Vorstellung davon, worauf ich hoffe!

Antwort

1

habe ich ein Juwel nur aus diesem Grund by_star genannt, Sie können Ereignisse für einen bestimmten Monat mit dieser Syntax finden:

Event.by_month(2) 

Dieser Code würde Sie alle Ereignisse für den zweiten Monat des ja erhalten. Es macht auch Monatsnamen und nimmt Datum und Zeit Objekte.

Sollte perfekt für Ihre Bedürfnisse sein.

Ein kleiner zusätzlicher Tipp: Ihre Modellklassen sollten singularisiert werden. Das ist die Konvention in Rails.

+0

Danke wird behoben (Camping übrigens, aber ich nehme an, es gilt immer noch!) – minikomi

+0

@minikomi: Es sollte mit Active Record in jedem Zusammenhang arbeiten. –

+0

Entschuldigen Sie bitte, dass Sie das nochmal drücken, nachdem Sie das Häkchen gesetzt haben - das funktioniert nicht mit dem Camping wegen Time.zone.now.year ... das ist rails centric, fürchte ich. . . – minikomi