在数组中搜索ruby

Gar*_*ows 0 ruby ruby-on-rails

我有一个数组os用户,奇怪的是,@ userss.

是否可以搜索此数组中的WITHIN以进一步缩小结果范围.我想要做的是以下内容

@users.where(:gender => nil)
Run Code Online (Sandbox Code Playgroud)

并最终得到一小部分用户,以便我可以报告丢失的数据.这可能吗?

Geo*_*roy 8

@users.select{|x| x.gender.nil?}
Run Code Online (Sandbox Code Playgroud)

或者反过来(如果你没有虚假的性别)

@users.reject(&:gender)
Run Code Online (Sandbox Code Playgroud)

如果@users是从数据库中检索的对象集合,您肯定可以执行以下操作:

@users.pluck(:gender)
Run Code Online (Sandbox Code Playgroud)

这将获得大多数数据库适配器的所有非零值.