ruby-on-rails - 运行 rake 任务时出现语法错误

标签 ruby-on-rails ruby rake rake-task

我是 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/

相关文章:

ruby-on-rails - Rails 4 has_many 到 Many

ruby-on-rails - Unicorn.rb 配置取决于环境

ruby-on-rails - Gemfile 样式

rake - 未初始化常量 Rake::Pipeline::ManifestEntry::DateTime

ruby-on-rails - 如何通过 id 缓存查找对象

ruby-on-rails - 在 Rails 2.2.2 中动态地向 ActiveRecord 模型添加字段?

ruby-on-rails - 如何编写一个 rake 任务来捆绑安装然后 rake db :migrate then rake db:seed?

ruby - 我怎样才能加快 Ruby/Rake 任务

ruby-on-rails - 在一页上列出并创建 rails 3

ruby - 什么时候使用 RSpec let()?