我是 ruby 和 rails 的新手,所以我仍在尝试掌握 ruby 的语法和结构。我正在关注 a tutorial使用任务和 rake 导入 csv 文件。我不断收到语法错误。我不确定我遗漏了什么,我看不出示例和我的代码之间有任何区别。
require 'csv'
desc "Import Voters from CSV File"
task :import => [:environment] do
file ="db/my.csv"
CSV.foreach(file, :headers => true) do |row|
Voter.create{
:last_name => row[0]
}
end
(See full trace by running task with --trace)
Erics-MacBook-Air:cloudvoters ecumbee$ rake db:import --trace
rake aborted!
/Users/ecumbee/Desktop/cloudvoters/lib/tasks/import.rake:11: syntax error, unexpected tASSOC, expecting '}'
:last_name => row[0],
^
/Users/ecumbee/Desktop/cloudvoters/lib/tasks/import.rake:12: syntax error, unexpected '}', expecting '='
}
^
最佳答案
您缺少将作为创建函数的参数提供的散列括起来的括号
Voter.create({
:last_name => row[0]
})
你也可以跳过括号和大括号
Voter.create :last_name => row[0]
关于ruby-on-rails - 运行 rake 任务时出现语法错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13112703/