这里是rails的新手。我有那个模型“Checklist”,它只包含布尔字段。 我有一个特定的清单难以返回真值或假值的总和。
例如:
<Checklist id: 1, field1: false, field2: false, field3: false, field4: true >
我怎么知道有3个假值,1个是真的?
我还没有找到怎么做。任何解决方案/资源将不胜感激。感谢
答案 0 :(得分:1)
您可以使用枚举器方法#select来检查给定参数并计算真或假的响应数(然后知道反向是相反的)。例如(假设这来自表格):
#checklist_controller.rb
def your_controller_method
true_checked = checklist_params.values.select{ |v| v }.count
false_checked = checklist_params.keys.count - true_checked
end
private
def checklist_params
params.permit(:field1, :field2, :field3...)
end