Ruby on rails 在Ruby中调用def导出CSV
我目前有一些代码,用于从我拥有的数据导出表Ruby on rails 在Ruby中调用def导出CSV,ruby-on-rails,ruby,fastercsv,function,Ruby On Rails,Ruby,Fastercsv,Function,我目前有一些代码,用于从我拥有的数据导出表 require 'fastercsv' def dump_csv @users = User.find(:all, :order => "lastname ASC") @outfile = "members_" + Time.now.strftime("%m-%d-%Y") + ".csv" csv_data = FasterCSV.generate do |csv| csv << [ "Last Nam
require 'fastercsv'
def dump_csv
@users = User.find(:all, :order => "lastname ASC")
@outfile = "members_" + Time.now.strftime("%m-%d-%Y") + ".csv"
csv_data = FasterCSV.generate do |csv|
csv << [
"Last Name",
"First Name",
"Username",
"Email",
"Company",
"Phone",
"Fax",
"Address",
"City",
"State",
"Zip Code"
]
@users.each do |user|
csv << [
user.lastname,
user.firstname,
user.username,
user.email,
user.company,
user.phone,
user.fax,
user.address + " " + user.cb_addresstwo,
user.city,
user.state,
user.zip
]
end
end
send_data csv_data,
:type => 'text/csv; charset=iso-8859-1; header=present',
:disposition => "attachment; filename=#{@outfile}"
flash[:notice] = "Export complete!"
end
需要'fastercsv'
def dump_csv
@users=User.find(:all,:order=>“lastname ASC”)
@outfile=“members”+Time.now.strftime(“%m-%d-%Y”)+“.csv”
csv|u data=FasterCSV.generate do|csv|
csv“附件;文件名=#{@outfile}”
flash[:注意]=“导出完成!”
结束
我的问题是,从我的观点来看,我该如何称呼它,以及它是否会与will_分页一起工作。我知道FasterCVS使用ActiveRecord创建表,因此在尝试组织表时分页将没有任何用处。我不明白您为什么要谈论将分页 但是,如果要从控制器发送数据或文件,则应查看发送\u数据和发送\u文件的方法:
谢谢你的帮助。我看到了你的链接,想到了这个:
@lists = Project.find(:all, :order=> (params[:sort] + ' ' + params[:direction]), :conditions => ["name || description LIKE ?", "%#{params[:selection]}%"])
csv_string = FasterCSV.generate do |csv|
csv << ["Status","Name","Summary","Description","Creator","Comment","Contact Information","Created Date","Updated Date"]
@lists.each do |project|
csv << [project.status, project.name, project.summary, project.description, project.creator, project.statusreason, project.contactinfo, project.created_at, project.updated_at]
end
end
filename = Time.now.strftime("%Y%m%d") + ".csv"
send_data(csv_string,
:type => 'text/csv; charset=utf-8; header=present',
:filename => filename)
end
@lists=Project.find(:all,:order=>(params[:sort]+“”+params[:direction]),:conditions=>[“name | | | description LIKE?”,“%#{params[:selection]}%”)
csv|U string=FasterCSV.generate do|csv|
csv文件名)
结束