2012-02-23 22 views
0

次のコードを使用してCSVを生成します(試してみてください)。私は何が起こっているのかわかりません、私はこれを実行すると、ダウンロードするプロンプトが表示されます& ExcelでCSVを開きます(私が望むものですが)それに何もありません....私はファイルがプロジェクトのルート(たとえば、 'schedule_23Feb12'という名前の)は、期待されるコンテンツを持っています!その後の再実行により、ダウンロードは複製されますが、ルートファイルは上書きされます。CSVエクスポート - ここで何が起こっていますか?

アイデア?

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

Internet Explorerで以前に実行したバグのような音です。あなたが見ているのは、ドキュメントのキャッシュバージョンか、ダウンロードした直後にIEのキャッシュから期限切れになったため、ドキュメントがまったくない(Cache-control: max-age=0の場合)ことがあります。

Cache-control: max-age=5を明示的にヘッダーの1つに設定して、ドキュメントの新しいコピーを取得するようにしてください。

+0

私はFirefoxのMacでこれを実行しています。 Safariでこれを試してみて、同じ結果を得ました。あなたが提案して同じようにキャッシュコントロールを追加しようとしましたが、私は100%確信していません。正しい場所に置いてあります。:type => 'text/csv; charset = iso-8859-1;ヘッダ=存在、キャッシュ制御:max-age = 5 ' – Raoot

関連する問題