Я знаю, что на этот вопрос есть принятый ответ. Решение, предложенное в принятом ответе, может вызвать проблемы с производительностью при увеличении размера таблицы.
Как правило, если вы выполняете поиск на основе столбца created_at
, добавьте индекс в таблицу в файле миграции.
add_index :posts, :created_at
Теперь для просмотра записей, созданных сегодня:
Рельсы 3/4
Post.where("created_at >= ?", Time.zone.now.beginning_of_day)
Для просмотра сообщений, созданных в определенный день.
Post.where(:created_at => (date.beginning_of_day..date.end_of_day))
--------- ИЛИ -------------
Добавить статический метод в вашу модель
class Post < ActiveRecord::Base
def self.today
where("created_at >= ?", Time.zone.now.beginning_of_day)
end
end
Post.today #returns posts today
Рельсы 2
Post.all(:conditions => ["created_at >= ?", Time.zone.now.beginning_of_day])
--------- ИЛИ -------------
Добавьте named_scope к вашей модели
class Post < ActiveRecord::Base
named_scope :today, lambda {
{
:conditions => ["created_at >= ?", Time.zone.now.beginning_of_day]
}
}
end
Post.today #returns posts today