Ruby on rails 用rake任务将文件上传到rails4db,我做错了什么?
当我输入rakeimport:data时,我最终得到的错误是Ruby on rails 用rake任务将文件上传到rails4db,我做错了什么?,ruby-on-rails,ruby,csv,rake-task,Ruby On Rails,Ruby,Csv,Rake Task,当我输入rakeimport:data时,我最终得到的错误是 namespace :import do desc "imports data from a csv file" task :data => :environment do require 'csv' CSV.foreach('lib/tasks/file.csv') do |row| first
namespace :import do
desc "imports data from a csv file"
task :data => :environment do
require 'csv'
CSV.foreach('lib/tasks/file.csv') do |row|
first = row[0]
last = row[1]
city = row[2]
state = row[3]
zipcode = row[4].to_i
email = row[5]
File.create(first: first, last: last, city: city, state: state, zipcode: zipcode, email: email)
end
end
end
我做错了什么?您要导入的模型的名称称为File?您正在调用create on File。File是Ruby中定义的类,您可能不想在应用程序中的模型中使用该名称。你可以给它命名名称空间,或者干脆给它起个更好的名字。
rake aborted!
NoMethodError: undefined method `create' for File:Class
lib/tasks/import.rake:12:in `block (3 levels) in <top (required)>'
/lib/tasks/import.rake:5:in `block (2 levels) in <top (required)>'