在Rails中导出为CSV

时间:2012-08-21 10:40:00

标签: ruby-on-rails csv export

我需要将所有内容从一个表导出到CSV文件中,之前我使用过更快的CSV gem,但它已停止使用较新版本的rails。有没有人可以使用其他方式?

2 个答案:

答案 0 :(得分:2)

Ryan Bates在这个话题上有一个方便的轨道广播:http://railscasts.com/episodes/362-exporting-csv-and-excel

答案 1 :(得分:1)

将活动记录数据库直接从控制台(没有控制器或视图)直接转换为文件的csv将是这样的

tags = [Model.column_names]
rows = tags + Model.all.map(&:attributes).map(&:to_a).map { |m| m.inject([]) { |data, pair| data << pair.last } }
File.open("ss.csv", "w") {|f| f.write(rows.inject([]) { |csv, row|  csv << CSV.generate_line(row) }.join(""))}