1

出力したい約30列のcsvファイルがあり、これらを.csv.erbの異なる行に表示したいと思います。次に例を示します。

<%= quantity.line_number  %>,
<%= quantity.created_at.strftime("%Y-%m-%d %H:%M:%S") %>,
<%= quantity.partner_entity_no %>,
<%= quantity.partner_name %>,

ただし、これを実行すると、.csv ファイルの「,」ごとに改行が発生します。1) ソース内の各列を別々の行に保持し、2) 出力 .csv ファイルに改行を入れないようにしたいと考えています。どうすればこれを実現できますか?

4

2 に答える 2

2

stdlib CSV クラスを使用して、csv の引用とエスケープのセマンティクスを正しく取得します。または、より便利には、そのArray#to_csvヘルパー メソッドを使用します。

<% require 'csv' %>
...
<%= [ 
      quantity.line_number,
      quantity.created_at.strftime("%Y-%m-%d %H:%M:%S"),
      quantity.partner_entity_no,
      quantity.partner_name,
    ].to_csv %>
于 2012-04-18T18:28:56.857 に答える
2
<%= [quantity.line_number,
     quantity.created_at.strftime("%Y-%m-%d %H:%M:%S"),
     quantity.partner_entity_no,
     quantity.partner_name].join(',') %>
于 2012-04-18T16:34:26.743 に答える