Class: IronAdmin::ExportsController
- Inherits:
-
ApplicationController
- Object
- ActionController::Base
- ApplicationController
- IronAdmin::ExportsController
- Defined in:
- app/controllers/iron_admin/exports_controller.rb
Overview
Controller for exporting resource data to CSV and JSON formats.
Exports respect field visibility settings and tenant scoping. Access via /admin/:resource_name/export.csv or .json
Instance Method Summary collapse
-
#show ⇒ void
Exports resource data in the requested format.
Instance Method Details
#show ⇒ void
This method returns an undefined value.
Exports resource data in the requested format.
21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 |
# File 'app/controllers/iron_admin/exports_controller.rb', line 21 def show records = collection_scope fields = export_fields respond_to do |format| format.csv do csv_data = generate_csv(records, fields) send_data csv_data, filename: "#{@resource_class.resource_name}_#{Date.current}.csv", type: "text/csv" end format.json do data = records.map { |r| fields.each_with_object({}) { |f, h| h[f.name] = safe_field_value(r, f, :json) } } render json: data end end end |