我正在rails中构建一个任务列表应用程序,允许用户创建包含任务的任务列表。我正在尝试设置过滤,因此我只能显示任务列表,其中所有任务都标记为完成。
目前:
清单型号:class List < ActiveRecord::Base
belongs_to :user
has_many :tasks
end
任务模型:
class Task < ActiveRecord::Base
belongs_to :list
def completed?
!completed_at.blank?
end
end
据我了解,ActiveRecord的.where
查询方法仅查看该模型的字段及其值(例如:@lists.where(name: "List Name")
)
有没有人知道一种类似于以下伪代码的方法:
@completed_lists = @lists.where(list.tasks.completed.count == list.tasks.count)
由于
答案 0 :(得分:0)
尝试使用List.all.map{|list| list if list.tasks.completed.count == list.tasks.count}
答案 1 :(得分:0)
您可以使用此功能加载所有未完成任务的列表:
mapping = {
0 : {
"EAST" : 1
},
1 : {
"EAST": 2,
"WEST": 1,
"SOUTH": 4
}
}
if userInput.upper() == 'QUIT':
break
else:
userInput = mapping[userPoint][userInput.upper()]