Подтвердить что ты не робот

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)

Что мне не хватает?

4b9b3361

Ответ 1

Оказывается, мой контроллер каким-то образом не был настроен правильно и больше не сохранял идентификатор current_user при создании новых назначений, поэтому они не были найдены. Я понял это, используя консоль рельсов и выполнив поиск в последних нескольких присланных предложениях. Для параметра user_id установлено значение nil. Спасибо за помощь @mu слишком коротко.

Ответ 2

Должно быть:

@due_this_week = current_user.tasks.where(due_date: 1.week.ago..Date.today)