export_controller_concern.rb (519B)
- # frozen_string_literal: true
- module ExportControllerConcern
- extend ActiveSupport::Concern
- included do
- before_action :authenticate_user!
- before_action :load_export
- end
- private
- def load_export
- @export = Export.new(current_account)
- end
- def send_export_file
- respond_to do |format|
- format.csv { send_data export_data, filename: export_filename }
- end
- end
- def export_data
- raise 'Override in controller'
- end
- def export_filename
- "#{controller_name}.csv"
- end
- end