我在每个循环中都有以下切片:
<% @group.each_slice(3).with_index do |k, i| %>
<% k.each do |k| %>
<% end %>
<% end %>
如何确定我在最后一片?像这样:
<% k == @group.each_slice(3).last %>
答案 0 :(得分: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 :(得分: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