我的控制器中有以下内容:
private
def csv_to_array(file)
csv = CSV::parse(File.open(file, 'r') {|f| f.read })
fields = csv.shift
csv.collect { |record| Hash[*fields.zip(record).flatten ] }
end
它引发了这个问题:
NameError (uninitialized constant FController::CSV):
app/controllers/f_controller.rb:27:in `csv_to_array'
app/controllers/f_controller.rb:9:in `import'
我的理解是,默认情况下,csv
包含在ruby工具包中,因此不需要。是什么导致了这个问题?
答案 0 :(得分:9)
它位于标准库中,但您仍需要它:
require 'csv'
这是core和stdlib之间的差异之一。