我有一个名为History的表模型,它的所有属性都是boolean。 如何只选择设置为true的属性?
我试过
History.select {|h| h == true}
我错过了什么?
答案 0 :(得分:0)
对于所有的全部为真的
boolean_columns = Model.columns.map(&:name) - %w(id created_at updated_at)
Model.where(boolean_columns.zip([true].cycle).to_h)
属性仅适用于实例,在这种情况下,您可能只想查询它。
对于一个人:
Model.first.attributes.select { |_, v| v == true }
我做v == true
而不是v
的原因是因为你想要显式布尔值,不一定是真的。