在Rails的ActiveAdmin中,可以通过以下步骤来迭代数组并将其导出为CSV文件:
app/admin/your_resource.rb
文件中添加以下代码:# 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
app/admin/your_resource.rb
文件的index
方法中添加以下代码:# 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
csv
库。在Gemfile
文件中添加以下代码,并运行bundle install
命令:# Gemfile
gem 'csv'
完成上述步骤后,你将能够在ActiveAdmin的资源列表页面中看到一个"Export"链接或按钮。点击该链接或按钮将触发导出CSV的action,并生成一个包含数组数据的CSV文件。
领取专属 10元无门槛券
手把手带您无忧上云