RubyZip を使用して、ディレクトリに含まれるすべてのファイルを圧縮しようとしています。ここに私が持っているものがあります:
def bundle
#create the ZIPfile with the title of (:id).zip
bundle_filename = "public/attachments/#{self.id}/#{self.id}.zip"
#open the ZIPfile in order to add items in
Zip::ZipFile.open(bundle_filename, Zip::ZipFile::CREATE) {
|zipfile|
Dir.foreach("public/attachments/#{self.id}") do |item|
t = File.open(item)
zipfile.add(t, "public/attachments/#{self.id}")
end
}
#change permissions on ZIPfile
File.chmod(0644, bundle_filename)
self.save
end
これにより、最初の行が正常に実行され、正しい名前の zip ファイルが作成されますが、そのディレクトリに含まれるすべてのファイルが追加されるわけではありません。何か案は?