Module: GridTable::Controller
- Defined in:
- lib/grid_table/controller.rb
Instance Method Summary collapse
- #grid_table_export_for(resource, params) ⇒ Object
- #grid_table_for(resource, params, options = {}) ⇒ Object
Instance Method Details
#grid_table_export_for(resource, params) ⇒ Object
21 22 23 24 25 26 27 28 29 30 31 32 33 |
# File 'lib/grid_table/controller.rb', line 21 def grid_table_export_for(resource, params) grid_table = resource.grid_table params[:skip_paging] ||= true grid_table.populate!(resource, params) if block_given? yield grid_table.records else csv = grid_table.records.klass.to_csv(grid_table.records) send_data csv, filename: "#{grid_table.records.klass.name.demodulize.underscore}.csv" end end |
#grid_table_for(resource, params, options = {}) ⇒ Object
3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
# File 'lib/grid_table/controller.rb', line 3 def grid_table_for(resource, params, = {}) grid_table = resource.grid_table grid_table.populate!(resource, params, ) if block_given? yield grid_table.records, grid_table.total_rows else rows = [] local = [:local].try(:to_sym) || grid_table.records.klass.name.demodulize.underscore.to_sym grid_table.records.each do |record| rows << (render_to_string partial: ([:partial] || 'row'), locals: { local => record }) end render json: { total_rows: grid_table.total_rows, rows: rows } end end |