我的 Rails 数据库方案有项目和任务。我想展示至少有一个未完成任务的项目。这是我的代码:
class Project
scope :open_tasks, lambda {
where(:tasks => {:finished => false}).includes(:tasks)
}
...
end
此代码正确返回具有一项打开任务的项目,但仅返回一项打开任务而不是全部。例如,一个项目总共有 5 个任务和 2 个打开的任务,上面的代码将只返回具有 2 个任务的项目。我知道我可以简单地强制重新加载项目,但这非常hackish并且存在性能问题。如何获得包含所有任务的项目?