首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何在rails activeadmin CSV中迭代数组?

在Rails的ActiveAdmin中,可以通过以下步骤来迭代数组并将其导出为CSV文件:

  1. 首先,在ActiveAdmin的资源文件中定义一个自定义的action,用于处理导出CSV的逻辑。例如,在app/admin/your_resource.rb文件中添加以下代码:
代码语言:txt
复制
# app/admin/your_resource.rb

ActiveAdmin.register YourResource do
  # ...

  collection_action :export_csv, method: :get do
    @resources = YourResource.all

    respond_to do |format|
      format.csv { send_data generate_csv(@resources), filename: "your_resource.csv" }
    end
  end

  # ...

  controller do
    def generate_csv(resources)
      CSV.generate(headers: true) do |csv|
        # 在这里迭代数组并将数据写入CSV文件
        csv << ['Column 1', 'Column 2', 'Column 3'] # CSV文件的标题行

        resources.each do |resource|
          csv << [resource.attribute1, resource.attribute2, resource.attribute3] # CSV文件的数据行
        end
      end
    end
  end
end
  1. 接下来,在ActiveAdmin的资源列表页面中添加一个链接或按钮,用于触发导出CSV的action。例如,在app/admin/your_resource.rb文件的index方法中添加以下代码:
代码语言:txt
复制
# app/admin/your_resource.rb

ActiveAdmin.register YourResource do
  # ...

  index do
    # ...

    column 'Export CSV' do |resource|
      link_to 'Export', export_csv_admin_your_resource_path(format: :csv)
    end
  end

  # ...
end
  1. 最后,确保你的Rails应用已经安装了csv库。在Gemfile文件中添加以下代码,并运行bundle install命令:
代码语言:txt
复制
# Gemfile

gem 'csv'

完成上述步骤后,你将能够在ActiveAdmin的资源列表页面中看到一个"Export"链接或按钮。点击该链接或按钮将触发导出CSV的action,并生成一个包含数组数据的CSV文件。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

领券