使用が反復されている:
<% @deals.each_with_index do |deal, i| %>
<% binding.pry %>
<%= "#{deal.title} - #{deal.price} - Rating: #{deal.deal_rating}" %>
<% end %>
あなたは@deals
から最初の要素を取るpry
と検査この方法:
[1] pry(#<#<Class:0x007fe0cd161ee8>>)> @deals.first
=> #<Deal:0x007fe0cb2751d8
id: 1,
title: "Deal-0",
price: 764,
deal_rating: 93,
created_at: Sat, 01 Apr 2017 15:00:29 UTC +00:00,
updated_at: Sat, 01 Apr 2017 15:00:29 UTC +00:00>
あなたの意見でそれをしたい場合は、unless
を使用して、index
を使って最初の要素を確認してください:
<% @deals.each_with_index do |deal, i| %>
<% unless !i.zero? %>
<%= "#{deal.title} - #{deal.price} - Rating: #{deal.deal_rating}" %>
<% end %>
<% end %>
差がwith_index
であなたが開始インデックスを相殺するためにオプションのパラメータを使用することができるということですので、あなたはwith_index(1)
は、最初の要素を取得しようとしないで開始する場所からインデックスを指定している、これを参照してください。
<% @deals.each.with_index(2) do |deal, index| %>
<%= "#{index}: #{deal}" %><br>
<% end %>
2: #<Deal:0x007fe0cb55ca90>
3: #<Deal:0x007fe0cb55c950>
4: #<Deal:0x007fe0cb55c810>
...
これはindex
2から始まり、そして奇妙な0
<% @deals.each_with_index do |deal, index| %>
<%= "#{index}: #{deal}" %><br>
<% end %>
0: #<Deal:0x007fe0cb55ca90>
1: #<Deal:0x007fe0cb55c950>
2: #<Deal:0x007fe0cb55c810>
3: #<Deal:0x007fe0cb55c6d0>
4: #<Deal:0x007fe0cb55c590>
から他の1。 'deal'は' @ deals'配列の要素でなければなりません。私は何のために必要なのですか?この例では使用していません。 –