RailsでCSVファイルを出力してダウンロードできるようにする方法



コントローラー

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>