繁体   English   中英

意外的结束语法错误

[英]unexpected end syntax error

如下代码:

require 'csv'

desc "Import Voters from CSV File"
task :import => [:environment] do

  file ="db/GOTV.csv"

  CSV.foreach(file, :headers => true) do |row|
    Voter.create({
      :last_name => row[0], 
      :first_name => row[1],
      :middle_name => row[2],
      :name_suffix => row[3],
      :primary_address => row[4],
      :primary_city => row[5],
      :primary_state => row[6],
      :primary_zip => row[7],
      :primary_zip4 => row[8],
      :primary_unit => row[9],
      :primary_unit_number => row[10],
      :phone_number => row[11],
      :phone_code => row[12],
      :gender => row[13],
      :party_code => row[14],
      :voter_score => row[15],
      :congressional_district => row[16],
      :house_district => row[17],
      :senate_district => row[18],
      :county_name => row[19],
      :voter_key => row[20],
      :household_id => row[21],
      :client_id => row[22],
      :state_voter_id => row[23]
    })
  end

...引发以下错误:

/Users/ecumbee/Desktop/cloudvoters/lib/tasks/import.rake:35: syntax error, unexpected $end, expecting kEND
  end
     ^

我试过删除结尾,它会引发与尝试添加另一结尾相同的错误,但是会导致无法编译错误。

编辑:添加第二个结束语句时出错

Don't know how to build task 'db:import'

代码的endCSV.foreach ... do块。 您错过了task ... to另一end task ... to阻止。

如果那仍然给您带来语法错误,请编辑您的问题,然后发布该错误。

在错误消息中, $end指向输入文件的末尾,而kEND指向end关键字,因此它抱怨缺少end ,而不是多余的end

如果在添加另一end后仍然出现语法错误,则与该错误无关。

我知道您说过您尝试添加另一端,但没有帮助,但是文件的问题是它缺少将结束任务的end关键字

task :import => [:environment] do

然后,当您添加缺少的end您能否提供有关所得到的错误的更多信息?

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM