コントローラー
require 'csv'
def export_csv
@data = Datum.order(created_at: :desc).limit(10)
respond_to do |format|
format.html
format.csv { send_data to_csv, filename: "data-#{Date.today}.csv" }
end
end
private
def to_csv
CSV.generate(headers: true) do |csv|
csv << ["Title", "URL"]
@data.each do |data|
csv << [data.title, data.url]
end
end
end
views
<div>
<button type="button" class="btn btn-pink"><%= link_to "ここをクリックするとCSVで出力できます", export_csv_path, data: {"turbolinks" => false},class:"btn btn-primary" %></button>
</div>