1

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

4

1 回答 1

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 
于 2013-10-30T12:35:17.653 回答