Ruby 1.9.2导出CSV字符串而不生成文件

我根本无法获得文档中 “写入” 示例下的“To a String”示例。

ruby -v返回:ruby 1.9.2p290(2011-07-09修订版32553)[x86_64-darwin10.8.0]

我无法工作的文档中的示例如下:

csv_string = CSV.generate do |csv| csv << ["row", "of", "CSV", "data"] csv << ["another", "row"] end 

我得到的错误是:

 wrong number of arguments (0 for 1) 

所以看起来我错过了一个论点,在这里的文档中它指出:

 This method wraps a String you provide, or an empty default String 

但是当我传入一个空字符串时,它会给我以下错误:

 No such file or directory - 

我不打算生成一个csv文件,我只是想创建一个csv字符串,我将其作为文本发送给用户。

以下是我所知道的使用Rails 3.0.1对Ruby 1.9.2起作用的代码

 def export_csv(filename, header, rows) require 'csv' file = CSV.generate do |csv| csv << header if not header.blank? rows.map {|row| csv << row} end send_data file, :type => 'text/csv; charset=iso-8859-1; header=present', :disposition => "attachment;filename=#{filename}.csv" end