Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 在Ruby中调用def导出CSV_Ruby On Rails_Ruby_Fastercsv_Function - Fatal编程技术网

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文件名)
结束