Rails でダウンロードする CSV ファイルを作成しようとしていますが、データの周りにタグを付けずに CSV だけを送信することはできません。私のコントローラーには、次のものがあります。
csv_string = CSV.generate do |csv|
headers = ['Header 1', 'Header 2']
csv << headers
@matches.each do |match|
csv << match
end
end
send_data(csv_string, :filename => filename, :layout => false)
これを実行するフォームは次のとおりです。
=form_tag log_path, :id =>'log_search_form', :multipart => true, :remote=>true do
.search_fields
.panel.panel-default
.panel-heading
Search Log File:
=file_field_tag :search
=submit_tag "Find Matches", :class=>'btn btn-primary btn-xs'
[一致を検索] を押すと、csv ファイルをダウンロードするように求められますが、最初の行には次のように表示されます。
<textarea data-type="text/csv" data-status="200" data-statusText="OK">Header 1
そして、ファイルはで終わります
</textarea>
(レガシー)コードはremotipartを使用しています-レンダリングをオーバーライドしてテキストエリアを追加するのを止める必要があるようです。クリーンな CSV ダウンロードを取得するにはどうすればよいですか? ありがとうございました!