J'ai un code qui fonctionne bien avec ruby 1.87 mais ne fonctionne pas avec ruby 1.9. Il est dit que CSV :: Writer n'est pas déclaré mais qu'il fait toujours partie du rdoc. Est-ce que l'API csv a changé, après la fusion de fastercsv, ou non?écrire csv dans ruby 1.9 et CSV :: Writer
mon code:
require 'csv'
def self.export_csv
file_name = File.join(RAILS_ROOT, 'public','csv',"#{start_date_f}_#{end_date_f}.csv")
return file_name if File.exist?(file_name)
@results = find(:all)
header_row = []
outfile = File.open(file_name, 'wb')
CSV::Writer.generate(outfile) do |csv|
header_row = ['gateway_id','created', 'gateway_status_id', 'panel_id', 'panel_status','volts_out', 'amps_out', 'temp','aid' ,'sid', 'pisid']
csv << header_row
end
end
L'erreur que je reçois: NameError: CSV uninitialized constant :: Writer
Notez que require 'csv' est là. Je l'essaie dans ma console, quand je fais le 'csv' exige, cela fonctionne, mais dès que j'appelle CSV :: Writer je reçois cette erreur. Ce code fonctionne très bien avec ruby 1.87, donc cela me fait penser qu'il s'agit d'un problème de ruby 1.9 csv car il a été fusionné avec rapideCSV.
était l'approche que j'ai prise. Je viens de vérifier la réponse maintenant, de toute façon, c'est une bonne source d'information :-) –