2015-11-20 101 views
0

我有以下切片每次循環:獲取最後切片在軌道的每一個循環

<% @group.each_slice(3).with_index do |k, i| %> 
    <% k.each do |k| %> 
    <% end %> 
<% end %> 

我怎麼能確定我在最後的片?事情是這樣的:

<% k == @group.each_slice(3).last %> 

回答

2

這將是一個好主意,預先計算@group.each_slice(3)(最好做一個控制器)

<% slices = @group.each_slice(3).to_a %> 

您可以將您的邏輯,頭片,最後切片

<% slices[0..-2].with_index do |k, i| %> 
<% end %> 

<% slices[-1].with_index do |k, i| %> 
<% end %> 

或者你可以通過它的索引來檢查它是否是最後一片

<% slices.with_index do |k, i| %> 
    <% if i == slices.size - 1 %> 
    ... 
    <% else %> 
    ... 
    <% end %> 
<% end %> 
1
x = @group.each_slice(3).to_a 
x.each_with_index do |k, i| 
    puts 'last' if i == x.length-1 
    k.each do |k| 
    puts k 
    end 
end 
相關問題