我是Rails的新手,我正在尝试让目录中的每个文件类型都有自己的图标,我只能让它显示一个请帮助吗?这是我到目前为止所拥有的。
控制器:
class DocsController < ApplicationController
def port
@files = Dir.glob("public/folder/*")
filetype = [".pdf", ".txt"]
if filetype.include? ".pdf"
@extension = "pdf.png"
elsif filetype.include? ".txt"
@extension = "text.png"
else
@extension = "folder.png"
end
end
end
查看:
<% @files.each do |file| %>
<div class="filediv">
<%= image_tag @extension, :size => "150x150" %>
<p><%= file.gsub("public/folder/", "") %></p>
</div>
<% end %>
这导致一切都有pdf图标,有人能告诉我我做错了吗?
由于
答案 0 :(得分:1)
我认为你需要添加辅助方法
def extension_image(file)
ext =File.extname(file)
if ext==".pdf"
"pdf.png"
elsif ext == ".txt"
"text.png"
else
"folder.png"
end
end
<%= image_tag extension_image(file), :size => "150x150" %>
filetype = [“。pdf”,“。txt”]
删除此代码。
if filetype.include? ".pdf"
@extension = "pdf.png"
elsif filetype.include? ".txt"
@extension = "text.png"
else
@extension = "folder.png"
end
end
现在为什么总是显示pdf扩展名 这很简单
[1,2,3].include?(1) it's always true so no further checking
结帐如何包含数组中的工作。