使用表单提交Ruby on rails文件下载

时间:2013-10-30 11:58:38

标签: ruby-on-rails ruby

我有一个页面,我将用户列表上传到动作上传数据。在成功/失败时,它会列出无效用户列表。这是用户的lsit未保存到数据库的一次性操作。我需要能够将这些用户列表写入文件并允许用户下载此文件。我不知道如何继续。任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:3)

1. require the CSV library to controller

require 'csv'

2. Code in controller

    def export_to_csv
       #get all invalid users here and then modify according to yoou logic       
        @users = User.find(:all)
        csv_string = CSV.generate do |csv|
             csv << ["Id", "Name", "status","Role"]
             @users.each do |user|
               csv << [user.id, user.name, user.status, user.role]
             end
        end         

       send_data csv_string,
       :type => 'text/csv; charset=iso-8859-1; header=present',
       :disposition => "attachment; filename=users.csv" 
    end