5

我的控制器中有以下内容:

  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​​ 工具包中,因此不需要。是什么导致了这个问题?

4

1 回答 1

10

它在标准库中,但您仍然需要它:

require 'csv'

这是核心和标准库之间的区别之一。

于 2013-11-11T20:12:40.160 回答