В соответствии со спецификациями в посте, вам нужно получить задачи, созданные за прошедший день, поэтому
нижеприведенный запрос не будет работать
User.includes(:todos).where(todos: { created_at: 1.day.ago.to_date})
за 1 день.ago дает определенную временную метку, и база данных ищет ту же самую временную метку, то есть, включая совпадающие часы, минуты и секунды.
Таким образом, лучшим подходом будет поиск временной метки, охватывающей весь день, и, таким образом, предоставление диапазонабудет лучшим вариантом.
Измените запрос, как указано ниже:
User.includes(:todos).references(:todos).where("todos.created_at >= ? and todos.created_at <= ?", 1.day.ago.beginning_of_day, 1.day.ago.end_of_day)
Это позволит получить задачи, созданные за прошедший день, охватывающие весь день.