【发布时间】:2014-04-07 08:46:53
【问题描述】:
在 rails 3.2.13 中,我使用回形针 gem 进行文件上传。我希望所有附件都下载到一个压缩文件夹中。
我正在使用下面的 gem
rubyzip (1.1.3)
如果我使用下面的代码,会得到类似“未初始化的常量 Zip::ZipFile”的错误
@assets = Assets::Resume.all
tmp_filename = "#{Rails.root}/tmp/tmp_zip_" <<
Time.now.strftime("%Y%m%d%H%M%S").to_s <<
".zip"
Zip::ZipFile.open(tmp_filename, Zip::ZipFile::CREATE) do |zip|
@assets.each do |e|
zip.add("#{e.document.original_filename}", e.document.url)
end
end
send_data(File.open(tmp_filename).read, :type => 'application/zip', :disposition => 'attachment', :filename =>"#{current_user.id}_cvs.zip")
File.delete tmp_filename
为了克服这个问题,我修改了这段代码,如下所述。修改后,我得到一个包含空数据(无文件)的 .zip 文件。
@assets = Assets::Resume.all
tmp_filename = "#{Rails.root}/tmp/tmp_zip_" <<
Time.now.strftime("%Y%m%d%H%M%S").to_s <<
".zip"
Zip::File.open(tmp_filename, Zip::File::CREATE) do |zip|
@assets.each do |e|
zip.add("#{e.document.original_filename}", e.document.url)
end
end
send_data(File.open(tmp_filename).read, :type => 'application/zip', :disposition => 'attachment', :filename =>"#{current_user.id}_cvs.zip")
File.delete tmp_filename
请帮我解决这个问题。
【问题讨论】:
标签: ruby-on-rails ruby zip paperclip