2013-12-06 3 views
24

Я пытаюсь использовать следующую строку в мой контроллер, чтобы захватить все задачи из-за менее чем за неделю от текущей даты: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 «s при создании новых заданий, поэтому они не нашли. Я понял это, используя консоль рельсов и выполнив поиск в последних нескольких присланных предложениях. Значение user_id было установлено равным nil. Спасибо за помощь @mu слишком коротко.

49

Должно быть:

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

Как это соотносится со всеми «задачами менее чем за неделю от текущей даты»? –

+0

ОП совершил ошибку, извините. – NARKOZ

+0

Сладкий. Это все. – fatfrog

Смежные вопросы