Я вижу в документах Active Record, вы можете запросить дату, используя большее или меньшее, чем сравнение. Однако, что, если вы хотите выбрать, где date = Date.today, или я должен запросить, где дата больше, чем вчера и меньше, чем завтра?
Как вы можете видеть, я делаю именно это в следующих запросах и запросах, где Date = сегодня возвращает пустой набор
1.9.3p286 :096 > Subscription.where("created_at = ?", Date.today).count
(0.5ms) SELECT COUNT(*) FROM `subscriptions` WHERE (created_at = '2013-01-18')
=> 0
против.
1.9.3p286 :098 > Subscription.where("expiration_date < ? AND expiration_date > ?", Date.today + 1, Date.today - 1).count
(0.4ms) SELECT COUNT(*) FROM `subscriptions` WHERE (expiration_date < '2013-01-19' AND expiration_date > '2013-01-17')
=> 1
Является ли это правильным способом запроса на сегодняшний день или я что-то не хватает?