Skip to content

Instantly share code, notes, and snippets.

@chrisyour
Created November 21, 2010 16:50
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save chrisyour/708893 to your computer and use it in GitHub Desktop.
Save chrisyour/708893 to your computer and use it in GitHub Desktop.
Display collections of records in groups using Ruby's Enumerable's each_slice method.
# So you have a collection of records you want to display in rows of 3.
# Use Enumerable's each_slice method:
<%= content_tag :div, :class => :thumbs do %>
<% @thumbs.each_slice(3) do |slice| %>
<%= content_tag :div, :class => :thumbs_row do %>
<% slice.each do |thumb| %>
<%= render 'thumb' %>
<% end %>
<% end %>
<% end %>
<% end %>
# Output:
<div class="thumbs">
<div class="thumbs_row">
<div class="thumb"><img src="thumb_1.jpg" /></div>
<div class="thumb"><img src="thumb_2.jpg" /></div>
<div class="thumb"><img src="thumb_3.jpg" /></div>
</div>
<div class="thumbs_row">
<div class="thumb"><img src="thumb_4.jpg" /></div>
<div class="thumb"><img src="thumb_5.jpg" /></div>
<div class="thumb"><img src="thumb_6.jpg" /></div>
</div>
<div class="thumbs_row">
<div class="thumb"><img src="thumb_7.jpg" /></div>
<div class="thumb"><img src="thumb_8.jpg" /></div>
<div class="thumb"><img src="thumb_9.jpg" /></div>
</div>
</div>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment