質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
CSV

CSV(Comma-Separated Values)はコンマで区切られた明白なテキスト値のリストです。もしくは、そのフォーマットでひとつ以上のリストを含むファイルを指します。

Ruby on Rails 5

Ruby on Rails 5は、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

Ruby

Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

Q&A

1回答

737閲覧

csvファイルのエクスポートで全件を一括エクスポートしたい

KOO_

総合スコア58

CSV

CSV(Comma-Separated Values)はコンマで区切られた明白なテキスト値のリストです。もしくは、そのフォーマットでひとつ以上のリストを含むファイルを指します。

Ruby on Rails 5

Ruby on Rails 5は、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

Ruby

Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

0グッド

0クリップ

投稿2021/02/28 05:45

こんにちは。CSVファイルのエスクポートファイルの生成の件で質問です。

現在、以下のようなシステムでエスクポートをプログラムしています。

controller

1 @customers = @customers.page(params[:page]).per(30) 2 respond_to do |format| 3 format.html 4 format.csv{ send_data @customers.generate_csv, filename: "customers-#{Time.zone.now.strftime('%Y%m%d%S')}.csv" } 5 end

views

1<div class="heading"><h2>インポート</h2></div> 2 3<%= form_tag import_customers_path, multipart: true do %> 4 <table width="90%"> 5 <tbody> 6 <tr> 7 <th colspan="3">CUSTOMER_CSVファイルインポート</th> 8 </tr> 9 <tr> 10 <td><%= file_field_tag :file %></td> 11 <th><%= submit_tag "インポート", class: 'btn btn-danger' %></th> 12 <th><%= link_to 'エクスポート', customers_path(format: :csv), class: 'btn btn-danger' %></th> 13 </tr> 14 </tbody> 15 </table> 16<% end %> 17

model

1#customer_export 2 def self.generate_csv 3 CSV.generate(headers:true) do |csv| 4 csv << csv_attributes 5 all.each do |task| 6 csv << csv_attributes.map{|attr| task.send(attr)} 7 end 8 end 9 end

上記でエクスポートすると、
@customers = @customers.page(params[:page]).per(30)
に習い、表示された30件がエクスポートされます。
ここを全件エクスポートの処理にするにはどうすれば良いでしょうか?
尚、
@customers = @customers.all
とすると可能なのですが、件数が多すぎてページが表示出来ません。
よろしくお願い致します。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

@customers = @customers.page(params[:page]).per(30)
この行を削除すれば良いだけでは?

投稿2021/02/28 23:13

winterboum

総合スコア23284

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問