我有一个代码可以在 ruby 1.87 上正常工作,但不能在 ruby 1.9 上工作。它说 CSV::Writer 未声明,但它仍然是 rdoc 的一部分。在 fastcsv 合并之后,csv api 是否发生了变化?
我的代码:
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
我收到的错误:NameError: uninitialized constant CSV::Writer
请注意,需要'csv'。我在我的控制台中尝试它,当我执行 require 'csv' 时,它可以工作,但是一旦我调用 CSV::Writer 我就会收到该错误。这段代码适用于 ruby 1.87,所以它让我认为这是一个 ruby 1.9 csv 问题,因为它与 fastCSV 合并。