版本 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格式的数据,非常方便。