Sha256: 4acf3e24e75d83556be582ca84f81e00093a5492555a6f063d167d47033a88b6
Contents?: true
Size: 1.05 KB
Versions: 4
Compression:
Stored size: 1.05 KB
Contents
--- sidebar_position: 2 title: CSV Export --- Exporting to CSV Example downloading a csv file preserving ransack search, based on [this gist](https://gist.github.com/pama/adff25ed1f4b796ce088ea362a08e1c5) ```jsx title='index.html.erb' <h1>Users</h1> <%= search_form_for @q, url: dashboard_index_path do |f| %> <%= f.label :name_cont %> <%= f.search_field :name_cont %> <%= f.submit %> <% end %> <ul> <% @users.each do |user| %> <li><%= user.name %> [<%= user.devices.map {|device| device.name }.join(', ') %>]</li> <% end %> </ul> <% if params[:q] %> <%= link_to 'Export 1', dashboard_index_path({name: params[:q][:name_cont]}.merge({format: :csv})) %> <% else %> <%= link_to 'Export 2', dashboard_index_path(format: 'csv') %> <% end %> ``` ```jsx title='user.rb' require 'csv' class User < ApplicationRecord has_many :devices def self.get_csv(users) CSV.generate do |csv| csv << ["Name", "Devices"] users.each do |user| csv << [user.name, user.devices.map{|device| device.name}.join(', ')] end end end end ```
Version data entries
4 entries across 4 versions & 1 rubygems