rails图像标记中的多个图像

时间:2014-04-26 07:48:27

标签: css ruby-on-rails

我想知道是否可以将数组传递给rails图像标记。该阵列将包括一系列png图像,我希望视图能够在旋转时显示这些图像。

有谁知道怎么做?

这不起作用。

<div class="img-circle"><%= image_tag ["researcher.png", "book.png"], size: "150x150" %></div>

我似乎无法找到说明(导轨指南建议您可以将数组传递给视频标记帮助程序,因此我想知道是否有办法对图像执行相同的操作)。

非常感谢。

2 个答案:

答案 0 :(得分:0)

有趣 - 我认为你现在每个image_tag只能使用一张图片

正如您从the API所看到的,该方法是一种发布<img src=""> HTML标记的方法,我相信它只执行一次(不会复制多个图像)

实现你想要的东西的方法是使用一个循环,虽然它对你在这里寻找的东西很臃肿:

<% images = %w(reearcher.png book.png) %>
<% for image in images do %>
    <%= image_tag image, size: "150x150" %>
<% end %>

答案 1 :(得分:0)

为了扩展@Rich Peck的答案,如果要创建一个助手来做到这一点,我认为它更清洁:

module ApplicationHelper
  def images_tag(array_of_images, options={})
    images = []
    if array_of_images.is_a? Array
      array_of_images.each do |image|
        images << image_tag(image, size: options[:size], class: options[:class])
      end
    end
    content_tag :div, images.join("\n").html_safe, class: "img-circle"
  end
end

然后,在您看来:

<%= images_tag ["researcher.png", "book.png"], size: "150x150", class: "class-img" %>

将输出:

<div class="img-circle">
  <img alt="researcher" class="class-img" height="150" src="/assets/researcher.png" width="150">
  <img alt="book" class="class-img" height="150" src="/assets/book.png" width="150">
</div>