按照rubyzip 2.3.2的文档,我有这个方法:
def zip_files(zip_file_name, files)
Zip::File.open(zip_file_name, Zip::File::CREATE) do |zipfile|
files.each do |filename|
zipfile.add(filename, File.join('.', filename))
end
end
end
files = ["test.txt", "test2.txt"]
zip_files("testing.zip", files)
会产生一个错误:未定义的方法'join' for Zip::File:Class (NoMethodError)
这会创建一个"testing.zip"文件,但为空
文件位于同一目录下,我已经测试过了:把文件文件返回
修复方法是更改"File.join"::File.join"