我正在尝试解压缩以前由回形针上传的文件夹。到那时,文件已正确上传,但从未调用过后处理器方法。那是模型文件:
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 => [:unzipImgs] 和一个名为 unzip_imgs.rb 的文件中。现在的问题是,即使调用了 make 方法,文件还不可用: File /Users/.../public/system/imgs//original/testfile.zip not found 为什么还没有创建文件?