Rails 3 アプリケーションでレポートの CSV 出力を生成するために FasterCSV を使用しています。コード スニペットを次に示します。
<%= FasterCSV.generate do |csv|
@groups.each do |b|
record = [ b.group, b.organization_name, b.status, b.comments ]
csv << record
end
end
%>
FasterCSV に空の文字列が含まれる場合、空の二重引用符のペアが使用されます。
残念ながら、Rails 3 はこれらの引用符をエンティティとしてエンコードしているため、Excel ではうまく機能しません。私のCSV出力は次のようになります(b.commentsがnilまたは空の文字列の場合):
Rafeland,Rafe Organization,Submitted,""
Railsがこれらのエンティティをエンコードするのを防ぐために一般的に受け入れられている方法は何ですか? メソッドについては知ってraw
いますが、CSV 生成を入れることができるブロックは必要ありません。