1

我想迭代出一些字段名称,将索引号附加到字段名称,例如claim_1claim_2claim_3

简化视图:

<% (1..4).each_with_index do |index| %>
    <%= f.label :claims_index %> 
<% end %>

如何使索引分别为 1、2、3、4 或其他?

4

3 回答 3

1
<% (1..4).each_with_index do |index| %>
    <%= f.label "claim_#{index}" %> 
<% end %>
于 2012-08-03T11:01:26.247 回答
1

实际上,您不需要each_with_index迭代器-

<% 1.upto(4) do |i| %>
  <%= f.label "claims_#{i}" %> 
<% end %>
于 2012-08-03T11:36:39.857 回答
0

不确定这是否是您所追求的,但 each_with_index 需要两个参数,因此您可以这样做:

<% @claims.each_with_index do |claim,index| %>
   <%= "#{index+1}: #{claim.name}" %>
<% end %>

这将打印出每个声明名称和索引 (1,2,3,4) +1 使其基于 1,而不是基于 0。

或者,只需使用:

<% (1..4).each do |i| %>
  <%= i %>
<% end %>
于 2012-08-03T11:16:31.630 回答