Ruby on Rails – 导入CSV文件

我正在遵循这个教程CSV-FILE-EXPORT-IMPORT-RAILS,但我做错了,因为当我试图创建我的对象未初始化的常量CuentaContablesController :: False时,我遇到了一个愚蠢的错误。 我可以毫无问题地阅读该文件,但这个错误令我头疼! 任何帮助将不胜感激!

在我的控制器中导入的方法(cuenta_contable_controller.rb)如下所示;

class CuentaContablesController < ApplicationController .... def upload(params) logger.info "**File loaded***" infile = params[:file].read n, errs = 0, [] @archivo = [] SV.parse(infile) do |row| n += 1 # SKIP: header ie first row OR blank row next if n == 1 or row.join.blank? cuenta_contable = CuentaContable.build_from_csv(row) if cuenta_contable.valid? cuenta_contable.save @archivo << row else errs < @archivo } end end 

我的模型(cuenta_contable.rb)就像这样

 class CuentaContable  "#{row[0]}-#{row[1]}-#{row[2]}", :descripcion => "#{row[3].titleize}", :categoria_cuenta => "#{row[4].titleize}", :ultimo_nivel=> ultimo_nivel) return cuenta end 

你使用的是True而不是true (同样是false )。

但两者都不是必要的; 三元是多余的和过度括号:

 # Ick! ultimo_nivel = (row[5].downcase=="si") ? (True):(False) # Pretty! ultimo_nivel = row[5].downcase == "si" 

您甚至可以使用帮助器将第5行转换为布尔值并将其从主线代码中删除。