【发布时间】:2016-02-24 19:19:19
【问题描述】:
这是我第一次将 csv 文件导入我的 rails 应用程序。
我在 /lib/tasks/import.rake 中有下面的代码
require 'csv'
CSV.foreach("lib/articles.csv", headers: true, encoding: "ISO8859-1") do |row|
Article.new(title: row["Title"], body: row["Body"], user: User.find(1))
end
当我运行rake import:articles
我收到此错误:
NameError: uninitialized constant Article
/Users/justinMgrant/code/hrsurvival/lib/tasks/import.rake:8:in `block in <top (required)>'
/Users/justinMgrant/code/hrsurvival/lib/tasks/import.rake:7:in `<top (required)>'
/Users/justinMgrant/.rvm/gems/ruby-2.2.1/gems/railties-4.2.2/lib/rails/engine.rb:658:in `block in run_tasks_blocks'
/Users/justinMgrant/.rvm/gems/ruby-2.2.1/gems/railties-4.2.2/lib/rails/engine.rb:658:in `each'
/Users/justinMgrant/.rvm/gems/ruby-2.2.1/gems/railties-4.2.2/lib/rails/engine.rb:658:in `run_tasks_blocks'
/Users/justinMgrant/.rvm/gems/ruby-2.2.1/gems/railties-4.2.2/lib/rails/application.rb:452:in `run_tasks_blocks'
/Users/justinMgrant/.rvm/gems/ruby-2.2.1/gems/railties-4.2.2/lib/rails/engine.rb:453:in `load_tasks'
/Users/justinMgrant/code/hrsurvival/Rakefile:6:in `<top (required)>'
(See full trace by running task with --trace)
知道我做错了什么吗?
【问题讨论】:
-
请添加完整的 rake 任务。我猜你没有使用
task :taskname => :environment在 Rails 环境的上下文中创建 rake 任务。 stackoverflow.com/questions/7044714/… -
这就是我在 rake 任务中的内容,但是当我添加
task articles: :environment时出现此错误Don't know how to build task 'import:articles' (see --tasks) -
这就是您的 rake 文件的全部内容?
标签: ruby-on-rails rake-task rakefile