Cody Barr Cody Barr -5 years ago 212
Ruby Question

Rails ActiveRecord Query Date Range

I'm trying to use the following line in my controller to capture all tasks due less than a week from the current date:

@due_this_week = current_user.tasks.where(due_date:

For some reason it's not finding any results even I know I have tasks due within four and six days. This is the only instance variable using a range query. I have another one that works fine to find overdue tasks:

@overdue = current_user.tasks.where("due_date <= ?",

What am I missing?

Answer Source

Turns out my controller somehow wasn't set up correctly and was no longer saving the current_user's ID when creating new assignments, which is why they weren't being found. I figured this out using the rails console and running a find on the last few assignments submitted. The user_id was set to nil. Thanks for the assist @mu is too short.

Recommended from our users: Dynamic Network Monitoring from WhatsUp Gold from IPSwitch. Free Download