2011-06-27 36 views
1

@student = Student.find(:all, :conditions => {:school_id => school.id,:created_at => Date.today })
我需要編寫這個ruby查詢來檢索學校中所有學生,學生的創建日期應該是同一天。
但是這給了零值。當我使用「如果」條件時,我可以使用if created_at.to_date == Date.today.to_date
所以我的問題是我如何將日期時間格式化符號(:created_at)轉換爲日期格式。 (手段,在這裏Student.find(..,:created_at.to_date => Date.today.to_date)是不可能的,這是備用方式)特技的Ruby日期比較

回答

5

部分是created_at是時間值,不是日期值。解決這一問題,通過this StackOverflow answer to a similar question推薦的一種方式,是在查詢過程中對created_at值轉換爲日期:(請注意,我重構使用學校的has_many :students關係查詢)

school.students.all(:conditions => ["DATE(created_at) = DATE(?)", Time.now])