Rails在我的视图中创建缩略图库

ale*_*enm 3 ruby views ruby-on-rails thumbnails gallery

我目前有一个包含一些图像URL的数组.

@images = [ "http://site/images/01.jpg", "http://site/images/02.jpg" ]

共18张图片

我想采用这个数组并创建一个缩略图库,其中画廊在我的视图中是3列.HTML输出将是

<table>
<tr>
<td><img src="http://site/images/01.jpg"></td>
<td><img src="http://site/images/02.jpg"></td>
<td><img src="http://site/images/03.jpg"></td>
</tr>
<tr>
<td><img src="http://site/images/04.jpg"></td>
<td><img src="http://site/images/05.jpg"></td>
<td><img src="http://site/images/06.jpg"></td>
</tr>
</table>

当前的实现让我得到一个列表

<table>
<tr>
<% @images.each do | image | %>
<td><%= image_tag(image)%></td><br>
<% end %>
</tr>
</table>

将来我可能希望它是6列而不是3列.我正在寻找一种以干净灵活的方式做到这一点的方法.

我正在查看Ruby文档,我看到了这个 Class Range(rng.step方法) http://www.ruby-doc.org/core/classes/Range.html

不确定此Range类步骤方法是否可以解决问题,但它提供的示例很有趣.

有任何想法,我还在学习,也许我在想这个?

fl0*_*00r 7

使用 each_slice()

<table>
  <% @images.each_slice(3) do |images| %>
    <tr>
      <% images.each do |image| %>
        <td><%= image_tag(image) %></td>
      <% end %>
    </tr>
  <% end %>
</table>
Run Code Online (Sandbox Code Playgroud)