2

請求書のコレクションがあります。属性の 1 つは exchange_rate です (メキシコ ペソの米ドルから通貨を計算するために使用されます)。レコードの 1 つでも exchange_rate が設定されていない場合は、警告を作成する必要があります。

コレクション内のレコードの exchange_rate がこのように空白かどうかを確認できます...

<% is_blank = false %>

<% @invoices.each do |invoice| %>
  <% if invoice.exchange_rate.blank? %>
    <% is_blank = true %>
  <% end %>
<% end %>

<% if is_blank %>
  shoot warning: all of the invoices must have an exchange rate in order
  to calculate pesos total
<% end %>

上記をよりRailsyに書く方法は何ですか?

4

1 に答える 1

7

Enumerable#any?メソッドを使用すると、次のようになります。

<% if @invoices.any? { |i| i.exchange_rate.blank? } %>
  shoot warning: all of the invoices must have an exchange rate in order
  to calculate pesos total
<% end %>
于 2012-05-21T22:23:10.053 に答える