module GridTable::Controller
Public Instance Methods
grid_table_export_for(resource, params) { |records| ... }
click to toggle source
# 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 = {}) { |records, total_rows| ... }
click to toggle source
# File lib/grid_table/controller.rb, line 3 def grid_table_for(resource, params, options = {}) grid_table = resource.grid_table grid_table.populate!(resource, params, options) if block_given? yield grid_table.records, grid_table.total_rows else rows = [] local = options[:local].try(:to_sym) || grid_table.records.klass.name.demodulize.underscore.to_sym grid_table.records.each do |record| rows << (render_to_string partial: (options[:partial] || 'row'), locals: { local => record }) end render json: { total_rows: grid_table.total_rows, rows: rows } end end