我的循环为每次迭代创建一个新行。我希望它每行循环3次。
3.times {...}或.step(3)我没有任何运气。
我的循环:
<% @image_paths.each do |image| %>
<div class="row">
<ul class="thumbnails">
<li class="span3">
<h3><%= File.basename(image) %></h3>
<% image_path = ["", File.dirname(image).split("public"),"/", File.basename(image)].join('') %>
<%= link_to image_tag(image_path), image_path[/\/.*/]%>
</li>
</ul>
</div>
<% end %>
您正在寻找
http://ruby-doc.org/core-1.9.3/Enumerable.html#method-i-each_slice
<% @image_paths.each_slice(3) do |slice| %>
<div class="row">
<ul class="thumbnails">
<% slice.each do |image| %>
<li class="span3">
<h3><%= File.basename(image) %></h3>
<% image_path = ["", File.dirname(image).split("public"),"/", File.basename(image)].join('') %>
<%= link_to image_tag(image_path), image_path[/\/.*/]%>
</li>
<% end %>
</ul>
</div>
<% end %>
因此slice变量将是3张(或2张或1张)图像的数组,或者是初始集合中的任何图像。希望有帮助!
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句