我试图在控制器中使用以下行来捕获从当前日期起不到一周内到期的所有任务:

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

由于某些原因,即使我知道我在四到六天内就有任务要完成,它也找不到任何结果.这是唯一使用范围查询的实例变量.我还有一个可以很好地查找过期任务的方法:

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

我错过了什么?

推荐答案

结果发现我的控制器设置不正确,在创建新任务时不再保存current_user的ID,这就是为什么找不到它们.我通过rails控制台找到了这个问题,并对提交的最后几份作业(job)进行了查找.user_id设置为nil.谢谢你的帮助@mu太短了.

Ruby-on-rails相关问答推荐

HTTP:MimeNegotiation::InvalidType(html不是有效的MIME类型):""

通过激励控制器正确更新Turbo帧信源

RubyOnRail在测试环境中启动失败

ActiveAdmin:的呈现索引表在父级的显示页中有许多资源

Grape api (rails) - 未初始化常量 Endpoints::TodoAPI (NameError)

Rails 7 - has_many_attached 在加载新附件时删除旧附件

Rails 控制台 - 更新 Gem 后的弃用通知

I18n 用于特定于模型的 Rails 提交按钮

验证以确保唯一性但忽略空值?

有没有办法在 Rails 3.1 中检测用户代理

Postgres on Rails 致命:数据库不存在

安装mysql2(0.4.8)时出错,Bundler无法继续

Rails 模型:您将如何创建一组预定义的属性?

从子类中的重载方法调用基类方法

对于 Visual Studio 用户来说,最好的 Ruby on Rails 环境是什么?

是否可以在 Rails 中否定范围?

如何在 Ruby 中创建一个新的 Date 实例

rails 单数资源还是复数?

如何为模型添加属性?

Ruby 1.9.2 和 Rails 3 无法打开 rails 控制台