我想循环遍历.png图标的目录并将它们添加到独立页面上。我还希望在每个文件下公开.png的文件名。
简而言之,这应该成为一个自动功能,可以显示我目前在开发环境中使用的所有图标,因此我可以将此独立页面用作图标目录。
我非常对Ruby很新,但我的问题首先引出了我这篇文章,但还远远不够: Iterate through every file in one directory
我的(基本内联HTML),到目前为止尝试:
<ul>
<% Dir.glob('/assets/css/img/png/*.png') do |icon| %>
<li> <%= "#{icon}" %> </li>
<% end %>
</ul>
非常感谢任何帮助。
答案 0 :(得分:1)
我不是专家,所以任何改进都将受到赞赏。我只能通过提供目录的绝对路径来获取Ruby Dir.glob()
进行迭代。我使用的是Rails 4.0.8。这对我有用:
<ul>
<% Dir.glob("#{Rails.root}/app/assets/images/*.png") do |icon| %>
<% icon_base = File.basename(icon) %>
<li><%= link_to icon_base, image_url(icon_base) %></li>
<% end %>
</ul>
这将生成/assets/images
中所有PNG图像的超链接列表。
答案 1 :(得分:0)
您提供了Dir.glob的绝对路径,因此它不会与您的Rails项目目录相关。
尝试在Rails根路径前面添加一个有效的绝对路径。
Dir.glob(Rails.root +“/ assets ... etc