Dus*_* M. 32 ruby loops ruby-on-rails
我有X个图像对象需要在视图中循环,并且想要每6个对象创建一个新的div(对于一个库).
我看过周期,但它似乎改变了所有其他记录.有没有人知道每6次将代码插入视图的方法?
我可以用嵌套循环来做这件事,但我有点难过这个.
tho*_*ncp 103
您可以Enumerable#each_slice结合使用#each以避免内联计算. each_slice将数组分成n个块,在本例中为6.
<% @images.each_slice(6) do |slice| -%>
<div class="gallery">
<% slice.each do |image| -%>
<%= image_tag(image.url, :alt => image.alt) %>
<% end -%>
</div>
<% end -%>
Run Code Online (Sandbox Code Playgroud)
jdl*_*jdl 14
这是一个Ruby问题.你可以将它融入到你想要做的任何事情中.
@list.each_with_index do |item, idx|
if((idx + 1) % 6 == 0)
# Poop out the div
end
# Do whatever needs to be done on each iteration here.
end
Run Code Online (Sandbox Code Playgroud)