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



我只是不能得到文档中'Writing'示例下的'To a String'示例。

ruby -v返回:Ruby 1.9.2p290 (2011-07-09 revision 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,我发送作为文本给用户。

这是我知道的在Ruby 1.9.2和Rails 3.0.1下工作的代码

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

相关内容

  • 没有找到相关文章

最新更新