使用只是each_with_index
,這將給你的對象和總要素內的指標被迭代:
<% @deals.each_with_index do |deal, i| %>
<% binding.pry %>
<%= "#{deal.title} - #{deal.price} - Rating: #{deal.deal_rating}" %>
<% end %>
這種方式與pry
檢查你@deals
採取的第一個元素:
[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>
這是奇怪的另外一個。 「deal」應該是'@ deals'數組中的一個元素。你需要什麼?我?在這個例子中你沒有使用它。 –