【发布时间】:2011-02-17 14:58:51
【问题描述】:
如何根据要求生成压缩文件。
我有这个控制器
def create
send_data generate_tgz("#{RAILS_ROOT}/tmp/example.txt"), :filename => 'export.tgz'
end
但它给了我一个在 generate_tgz 上找不到的方法。
它是插件还是 gem?我需要什么吗?我可以生成一个 zip 文件吗?
编辑:
def generate_tgz(file)
system("tar -czf #{RAILS_ROOT}/tmp/export-result #{RAILS_ROOT}/tmp/export")
content = File.read("#{RAILS_ROOT}/tmp/export-result")
#ActiveSupport::Gzip.compress(content)
end
这会创建一个 tgz,但是当我解压缩它时,我会得到 app/c3ec2057-7d3a-40d9-9a9d-d5c3fe3ffd6f/home/tmp/export/and_the_files
我希望它只是:export/the_files
【问题讨论】:
-
你说的是这个页面上给出的例子api.rubyonrails.org/classes/ActionController/Streaming.html吗?我认为 Rails 中没有实现任何这样的方法。这只是一个例子。
-
@Dogbert:是的,就是这个例子。
标签: ruby-on-rails