尝试使每个文件类型在rails 3.2中都有自己的图标

时间:2012-09-11 09:20:51

标签: ruby-on-rails icons ruby-on-rails-3.2 file-type

我是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图标,有人能告诉我我做错了吗?

由于

1 个答案:

答案 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 

结帐如何包含数组中的工作。