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 ファイルダウンロードのために手を入れていました。
今回は、ビューを一つ追加、既存のビューにリンクを追加で実現できました。
おそらく最小構成だと思います。
ではでは。