2012-08-03 6 views
1

필드 이름에 인덱스 번호를 추가하여 일부 필드 이름을 반복하고 싶습니다. claim_1claim_2, claim_3보기에서 필드의 레일 반복

단순화보기 :

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

어떻게 인덱스가 중 1, 2, 3, 4 또는 무엇이든 각각으로받을 수 있나요? 1,2,3 (인쇄됩니다

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

은 각각의 이름과 인덱스 주장이 당신이 할 수 있도록 두 개의 인수를 each_with_index 무엇이 후 당신 만인지

답변

1

사실이 대한 each_with_index 반복자를 필요로하지 않습니다 -이 더 간결 보인다

<% 1.upto(4) do |i| %> 
    <%= f.label "claims_#{i}" %> 
<% end %> 
+0

- 감사합니다! – Harry

1
<% (1..4).each_with_index do |index| %> 
    <%= f.label "claim_#{index}" %> 
<% end %> 
0

확실하지 않음 , 4) +1은 0 기반이 아니라 1 기반으로 만듭니다.

Alteranatively, 단순히 사용

<% (1..4).each do |i| %> 
    <%= i %> 
<% end %> 
관련 문제