いくつかのフィールド名を繰り返して、フィールドの名前にインデックス番号を追加したいと思います(例:claim_1
、など) claim_2
。claim_3
簡略化されたビュー:
<% (1..4).each_with_index do |index| %>
<%= f.label :claims_index %>
<% end %>
インデックスをそれぞれ1、2、3、4などにするにはどうすればよいですか?
いくつかのフィールド名を繰り返して、フィールドの名前にインデックス番号を追加したいと思います(例:claim_1
、など) claim_2
。claim_3
簡略化されたビュー:
<% (1..4).each_with_index do |index| %>
<%= f.label :claims_index %>
<% end %>
インデックスをそれぞれ1、2、3、4などにするにはどうすればよいですか?
<% (1..4).each_with_index do |index| %>
<%= f.label "claim_#{index}" %>
<% end %>
each_with_index
実際、これにはイテレータは必要ありません-
<% 1.upto(4) do |i| %>
<%= f.label "claims_#{i}" %>
<% end %>
これがあなたが求めているものであるかどうかはわかりませんが、each_with_indexは2つの引数を取るので、次のことができます。
<% @claims.each_with_index do |claim,index| %>
<%= "#{index+1}: #{claim.name}" %>
<% end %>
これにより、各クレーム名とインデックス(1,2,3,4)が出力されます。+1を使用すると、0ベースではなく1ベースになります。
または、単に次を使用します。
<% (1..4).each do |i| %>
<%= i %>
<% end %>