Rails Диапазон дат запроса ActiveRecord
Я пытаюсь использовать следующую строку в своем контроллере для захвата всех задач из менее чем за одну неделю от текущей даты:
@due_this_week = current_user.tasks.where(due_date: Date.today..1.week.from_now)
По какой-то причине это не находит никаких результатов, даже я знаю, что у меня есть задачи в течение четырех и шести дней. Это единственная переменная экземпляра, использующая запрос диапазона. У меня есть еще один, который отлично работает, чтобы найти просроченные задачи:
@overdue = current_user.tasks.where("due_date <= ?", Date.today)
Что мне не хватает?
Ответы
Ответ 1
Оказывается, мой контроллер каким-то образом не был настроен правильно и больше не сохранял идентификатор current_user
при создании новых назначений, поэтому они не были найдены. Я понял это, используя консоль рельсов и выполнив поиск в последних нескольких присланных предложениях. Для параметра user_id
установлено значение nil
. Спасибо за помощь @mu слишком коротко.
Ответ 2
Должно быть:
@due_this_week = current_user.tasks.where(due_date: 1.week.ago..Date.today)