-1

articles.facets['date']['terms']有此數組:跳過列的結果,如果病情反覆

[{"term"=>13, "count"=>4}, {"term"=>12, "count"=>1}] 

我想打印一次該文章「10年以上」,如果有符合要求的陣列的多個元素是被10歲以上

<% articles.facets['yearsexperience']['terms'].each do |facet| %> 
    <% if facet['term'] > 10 %> 
    "More than 10 years" 
    <% end %> 
<% end %> 

現在我就在同一文本2次:

"More than 10 years" 
"More than 10 years" 
+0

你爲什麼不適合你的面,如果你只需要知道> 10年? – apneadiving

+0

這是我的輪胎'必須的範圍:年份的經驗,{gt:10}}'。你有什麼建議?謝謝 – hyperrjas

回答

3

使用.any?。它接受它調用在枚舉的每個元素塊,並返回true,如果該塊返回true數組中的任何元素

<% if articles.facets["yearsexperience"]["terms"].any? { |t| t['term'] > 10 } %> 
    More than 10 years 
<% end %> 
+0

+1,因爲它是正確的,但問題在於底層邏輯 – apneadiving

+0

非常感謝! – hyperrjas

0

您可以使用break走出。每個上下文:

<% articles.facets['yearsexperience']['terms'].each do |facet| %> 
    <% if facet['term'] > 10 %> 
    "More than 10 years" 
    <% break %> 
    <% end %> 
<% end %>