Class: Collection2csvController
- Inherits:
-
ApplicationController
- Object
- ApplicationController
- Collection2csvController
- Defined in:
- app/controllers/collection2csv_controller.rb
Instance Method Summary collapse
Instance Method Details
#convert ⇒ Object
3 4 5 6 7 8 9 10 11 12 13 14 15 |
# File 'app/controllers/collection2csv_controller.rb', line 3 def convert klass = params[:klass].constantize if params[:column_names].present? column_names = params[:column_names].split(',').to_a else column_names = klass.column_names end collection = klass.find(params[:ids]) respond_to do |format| format.csv { send_data to_csv(collection,column_names) ,:filename => "#{klass}_#{DateTime.now.to_formatted_s(:db)}.csv" } end end |
#to_csv(collection, column_names) ⇒ Object
17 18 19 20 21 22 23 24 |
# File 'app/controllers/collection2csv_controller.rb', line 17 def to_csv(collection,column_names) CSV.generate do |csv| csv << column_names.map(&:humanize) collection.each do |product| csv << product.attributes.values_at(*column_names) end end end |