查找对象数组是否包含具有特定值的属性

时间:2011-03-19 05:44:26

标签: ruby-on-rails

以下代码有效,但您能否告诉我这是否是正确的方法?

我有一个Position对象数组,我想检查它是否包含一个属性'hidden'具有“false”值的对象:

<% if positions.collect{|position| position.hidden}.include?(false) %>
  ...
<% end %>

3 个答案:

答案 0 :(得分:28)

<% if positions.any?{|position| !position.hidden} %>
  ...
<% end %>

使用any?方法

答案 1 :(得分:3)

if positions.any? {|position| not position.hidden}

答案 2 :(得分:1)

您还可以使用all?方法:

<% unless positions.all? {|position| position.hidden} %>
 ...
<% end %>