使用以下代码(尝试并)生成CSV。我不确定发生了什么,当我运行时,我得到一个下载和提示的提示在Excel中打开CSV(这就是我想要的)但它没有任何内容....我还注意到一个文件保存在项目根目录中(例如名为'schedule_23Feb12'),这确实有预期的内容!? !后续重新运行会导致下载重复,但要覆盖根文件。
有什么想法吗?
def schedulecsv
@products = Product.where('release_date > ?', Date.today)
filename ="schedule_#{Date.today.strftime('%d%b%y')}"
csv_data = CSV.generate filename do |csv|
csv << ["cat_no","version"]
@products.each do |p|
csv << [p.cat_no,p.version]
end
end
send_data csv_data,
:type => 'text/csv; charset=iso-8859-1; header=present',
:disposition => "attachment; filename=#{filename}.csv"
end
答案 0 :(得分:0)
听起来像我之前使用Internet Explorer遇到的错误。您所看到的可能是文档的缓存版本,或者更糟糕的是没有文档,因为它一下载就会从IE缓存中过期(如果Cache-control: max-age=0
会发生)。
尝试将明确的Cache-control: max-age=5
设置为您的标题之一,以便获得该文档的新副本。