My Rails应用必须处理并生成PDF XFA文件并发送给用户/浏览器。 它的工作正常。但问题是,在将文件发送给用户之前,它会在rails tmp目录中创建2个文件。
如果有10个请求进入pdf_controller,tmp目录中的临时文件数将翻倍,占用空间。
在寻找周围之后,我认为扫地机会来救援。但对扫地机的了解不多。那么,任何人都可以建议走哪条路吗?
答案 0 :(得分:5)
Tempfile将在对象完成后删除文件。
示例:
def get_pdf
model = Model.find(params[:id])
file = Tempfile.new
model.to_pdf(file)
send_file file.path, ...
end
如果您将代码粘贴到问题中,我可以提供更好的示例。
答案 1 :(得分:1)
您可以使用cron任务,每隔n分钟删除一次文件,或者,您可以从控制器本身订购删除。