Rails で CSV ファイルのダウンロード機能の作り方を確認したので、メモがてらまとめます。
目次
参考
準備
以下のコマンドで、モデル他を作成しておきます。
1  | # rails環境の準備をしていることを前提として以下を実行  | 
ここまで実行し、localhost:3000/usersにアクセスできることを確認しておく。
実装
app/views/users/index.csv.erb を新規に作成します。
1  | <%=  | 
app/views/users/index.html.erb に以下を追記します。
1  | <%= link_to 'download csv', users_path(format: 'csv') %>  | 
これだけです。
確認
localhost:3000/usersにアクセスすると、download csvというリンクが確認できるはずです。
クリックすることでダウンロードできます。
ダウンロードすると以下のようになります。
1  | name,famlyname,created_at  | 
確認した限りだと、文字コードの指定も効いているようです。
参考にしたものだと、コントローラーにも CSV ファイルダウンロードのために手を入れていました。
今回は、ビューを一つ追加、既存のビューにリンクを追加で実現できました。
おそらく最小構成だと思います。
ではでは。