Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/64.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 用rake任务将文件上传到rails4db,我做错了什么?_Ruby On Rails_Ruby_Csv_Rake Task - Fatal编程技术网

Ruby on rails 用rake任务将文件上传到rails4db,我做错了什么?

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

当我输入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 = 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)>'