CSV导出 - 这里发生了什么?

时间:2012-02-23 10:34:51

标签: ruby-on-rails ruby-on-rails-3

使用以下代码(尝试并)生成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   

1 个答案:

答案 0 :(得分:0)

听起来像我之前使用Internet Explorer遇到的错误。您所看到的可能是文档的缓存版本,或者更糟糕的是没有文档,因为它一下载就会从IE缓存中过期(如果Cache-control: max-age=0会发生)。

尝试将明确的Cache-control: max-age=5设置为您的标题之一,以便获得该文档的新副本。