今月作成されたレコードを見つけようとしているときに、問題を特定するのに苦労しています。
コントローラーでの私のクエリは次のようになります
@sh = SupportHistory.where('created_at BETWEEN ? AND ?', Time.now.beginning_of_month, DateTime.now.end_of_month)
私のSQLは次のようになります
SELECT `support_histories`.* FROM `support_histories` WHERE (created_at BETWEEN '2012-10-31 18:30:00' AND '2012-11-30 18:29:59')
問題は、前月からのレコードを見つけることです。それを修正するにはどうすればよいですか?
アップデート
このリンクから問題を把握できました: Timezone with rails 3
コントローラーのクエリは次のようになります
@sh = SupportHistory.where('created_at BETWEEN ? AND ?', DateTime.now.in_time_zone.beginning_of_month, DateTime.now.in_time_zone.end_of_month)
今私のSQLはこのようになります
SELECT `support_histories`.* FROM `support_histories` WHERE (created_at BETWEEN '2012-11-01 05:
00:00' AND '2012-12-01 05:59:59')
別の質問があります。「in_time_zone」を回避する方法はありますか? またはそれを自動的に実現するには?:)