ruby-on-rails - 使用表单提交的 Ruby on Rails 文件下载

标签 ruby-on-rails ruby

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

最佳答案

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 

关于ruby-on-rails - 使用表单提交的 Ruby on Rails 文件下载,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19681621/

相关文章:

ruby-on-rails - 联系第 3 方 API 时的错误处理

ruby-on-rails - ActiveRecord update_attributes 忽略无效键

ruby-on-rails - Rails - 如何显示像 Twitter 一样创建的时间

ruby - 从 Ruby 类返回对象

ruby-on-rails - 如何模块化Rails代码?

ruby - 如果在 `x` 秒内没有用户输入则超时

ruby-on-rails - 无法使用Ckeditor、Paperclip和Ruby on Rails给图片模型添加参数

ruby - 如何在 irb 上使用特定的 gem 版本?

ruby - 如何计算 ruby​​ 中某个类的现有实例?

mysql - 如果系统在提交期间崩溃,MySQL 和 SQLite 会如何表现?