-1

このarticles.facets['date']['terms']配列があります:

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

10 年以上経過しているという要件を満たす配列の要素が複数ある場合は、このテキスト「10 年以上」を 1 回だけ出力してください

<% 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"
4

2 に答える 2

3

を使用し.any?ます。列挙可能な各要素に対して呼び出すブロックを受け入れ、配列内の要素に対してブロックが返さtrueれる場合は true を返します。

<% if articles.facets["yearsexperience"]["terms"].any? { |t| t['term'] > 10 } %>
  More than 10 years
<% end %>
于 2013-09-25T12:39:56.197 に答える
0

break を使用して .each コンテキストから抜け出すことができます。

<% articles.facets['yearsexperience']['terms'].each do |facet| %>
  <% if facet['term'] > 10 %>
    "More than 10 years"
    <% break %>
  <% end %>
<% end %>
于 2013-09-25T12:39:14.157 に答える