Rails导出CSV
版本 ruby 1.9 rails 3.2
完整代码
#引入CSV标准类库 require 'csv' class PeopleController < ApplicationController def index #SQL查询所有记录 @people = Person.all respond_to do |format| format.html format.json{ render :json => @person.to_json } format.xml { render :xml => @person.to_xml } #生成csv的操作 format.csv do csv_string = CSV.generate do |csv| # 首行标题行 csv << ["Name", "Created At"] @people.each do |person| csv << [person.name, person.created_at] end end #渲染生成文件 render :text => csv_string end end end
最后浏览器打开http://localhost:3000/people.csv
同理如果打开 http://localhost:3000/people.json,http://localhost:3000/people.xml会得到json和xml格式的数据,非常方便。