RailsでCSVファイルとして出力(ダウンロード)する方法を紹介します。例としてユーザIDに紐づいたユーザ情報をCSV出力します。「CSVダウンロード」ボタンを押下すると、ユーザIDをusersコントローラのcsvメソッドに送ります。%>・・・viewから受け取ったユーザIDからfindメソッドでユーザ情報を取得します。csvファイルのヘッダーを生成するためにcreate_csv_file_header()メソッドを呼び出します。ここでは「user_test_file_name_」という文字列に年月日を足したファイル名を引数にしています。create_csv_file_header()メソッドは他のコントローラでも使用することを考えて、ApplicationControllerに定義し、継承する形で使います。}")endendendendCSVファイルのヘッダーを生成します。ダウンロードするブラウザがIEの場合はファイル名の文字列の文字コードを変換します。IE6からのユーザエージェントは「MSIE」、IE10からは「Trident」が表記されています。=~演算子を使ってIEのユーザエージェントにパターンマッチした場合、文字列の文字コードを変換します。filename=\"#{file_name}.csv\""endendrequest.user_agentでHTTP_USER_AGENTを取得できます。実際にrequest.user_agentでログを出力してみると以下のようになります。Safari/537.36CSVファイルとして出力するため、〇〇.csv.rubyという拡張子のファイルを作成します。generateメソッドを使ってた文字列をCSV形式に変換処理しています。RailsでCSVファイルとして出力する方法でした。コメントをキャンセルメールアドレスが公開されることはありません。コメントデータの処理方法の詳細はこちらをご覧ください。