我正在尝试解压缩之前由paperclip上传的文件夹。 到那时,文件正确上传,但后处理器方法从未调用过。 这是模型文件:
class Component < ActiveRecord::Base
attr_accessible :dev_desc, :func_desc, :name, :platform, :pos_img, :repo_dir, :xib_name, :imgs, :folder
validates :name, :presence => true
validates :platform, :presence => true
has_attached_file :imgs,
:processors => [:unzipimgs]
has_attached_file :folder, {
:styles => {:original => {:processors => [:unzipfolder]}}
}
end
这就是lib / paperclip_processors / unzipfolder.rb文件:
module Paperclip
class UnzipFolder < Processor
class InstanceNotGiven < ArgumentError; end
attr_accessor :resolution, :whiny
def initialize(file, options = {}, attachment = nil)
super
@file = file
@whiny = options[:whiny].nil? ? true : options[:whiny]
@basename = File.basename(@file.path, File.extname(@file.path))
@attachment = attachment
end
def make
# DO THINGS HERE
end
end
end
我试过将'has_attached_file'写成unzipimgs格式和unzipfolder格式,但我总是得到未初始化的常量Paperclip :: Unzipfolder 错误。
编辑:部分修复,问题在于文件名:processors =&gt; [:unzipImgs]带有一个名为unzip_imgs.rb的文件。 现在的问题是,即使调用make方法,该文件还不可用: 文件/Users/.../public/system/imgs//original/testfile.zip未找到 为什么还没有创建文件?