在rails app中需要csv吗?

Lui*_*igi 4 ruby csv ruby-on-rails

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

  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
Run Code Online (Sandbox Code Playgroud)

它抛出了这个问题:

NameError (uninitialized constant FController::CSV):
  app/controllers/f_controller.rb:27:in `csv_to_array'
  app/controllers/f_controller.rb:9:in `import'
Run Code Online (Sandbox Code Playgroud)

这是我的理解,csv默认包含在ruby工具包中,因此不需要.是什么导致了这个问题?

mec*_*ish 9

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

require 'csv'
Run Code Online (Sandbox Code Playgroud)

这是core和std-lib之间的差异之一.