J'utilise FasterCSV pour produire la sortie CSV de mes rapports dans une application Rails 3. Voici un extrait de code:Comment empêcher Rails d'encoder des entités dans la sortie FasterCSV?
<%= FasterCSV.generate do |csv|
@groups.each do |b|
record = [ b.group, b.organization_name, b.status, b.comments ]
csv << record
end
end
%>
Lorsque FasterCSV comprend une chaîne vide, il utilise une paire de guillemets doubles vides.
Malheureusement, Rails 3 est en train de coder ces guillemets en tant qu'entités, ce qui ne fonctionne pas très bien avec Excel. Voici ce que ma sortie CSV ressemble (quand b.comments est nul ou une chaîne vide):
Rafeland,Rafe Organization,Submitted,""
Quelle est la méthode généralement acceptée pour empêcher Rails de coder ces entités? Je connais la méthode «brute», mais elle ne prend pas un bloc dans lequel je peux mettre la génération CSV.
Je ne savais pas que vous pourriez prendre un appel de méthode sur l'extrémité d'un bloc comme ça. Ruby est cool. – Rafe
Je ne le savais pas non plus. Woohoo! –