Rails这样要列出使用IMAGE_TAG文件夹的所有图像?(Rails How To List a

2019-07-17 16:34发布

我试着去把所有的图片在“应用程序/资产/图像/幻灯片”的文件夹,并把它们withing标签(按顺序)。 因此,它看起来就像这样:

<img src="1.jpg" >
<img src="2.jpg" >
<img src="3.jpg" >

我怎样才能实现这一目标? (IM使用Rails 3.2.9)

这是我试过的代码(感谢哈立德)。 但它输出的所有图像路径的文本文件列表。 我需要的图片显示:

@images = Dir.glob("app/assets/images/slide/*.jpg")

@images.each do |image|
    image_tag image.gsub("app/assets/images/", "")
end

Answer 1:

在你的控制器动作,让所有图片的路径。

@images = Dir.glob("app/assets/images/slide/*.jpg")

然后在您的视图(假设HAML)

- @images.each do |image|
   = image_tag "slide/#{image.split('/').last}"

假设ERB

 <% @images.each do |image| %>
   <%= image_tag "slide/#{image.split('/').last}" %>
 <% end %>


Answer 2:

为了确保操作,您可以使用:

@images = Dir.glob("#{Rails.root}/app/assets/images/camisas/*.jpg")


Answer 3:

对我的作品和显示图像:

Dir.glob('app/assets/images/slide/*').map do |path| 
  image_tag "slide/#{ File.basename(path) }"
end.reduce(&:+)

你想摆脱与文件基本名称#的完整路径,因此它与预编译的资产运作AFAIK。 你也不需要指定JPG格式,因为它的图像文件夹,并可能有巴纽的。



Answer 4:

files = Dir.glob('app/assets/images/slide/*')
files.each do |file|
  puts file
end


Answer 5:

从文档, image_tag返回源的HTML图像标记。 它不能同时显示所有图像。 你应该做一个自定义的助手阅读并通过您的目录行走。



文章来源: Rails How To List all Images in a Folder using the image_tag?