簡體   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