Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby-on-rails-4/2.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/63.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 4 NameError:未初始化的常量ModelName_Ruby On Rails 4_Rake - Fatal编程技术网

Ruby on rails 4 NameError:未初始化的常量ModelName

Ruby on rails 4 NameError:未初始化的常量ModelName,ruby-on-rails-4,rake,Ruby On Rails 4,Rake,我正在尝试将一些数据从CSV上传到我的db(Rails4中的sqlite3)。我遵循了列出的步骤,不仅是第一条评论中包含的步骤,还有第二条评论中的备选选项。我遇到了一个命名错误:未初始化的常量绘图(我的模型名) 我试图通过将config.autoload_路径+=%W(#{config.root}/lib)作为建议包含进来来修复它,但没有成功。你知道如何解决这个问题吗?不想将CSV文件存储在应用程序中,但要将其行转移到my DB中,并使用它们的值创建记录 lib/tasks/import_图形_

我正在尝试将一些数据从CSV上传到我的db(Rails4中的sqlite3)。我遵循了列出的步骤,不仅是第一条评论中包含的步骤,还有第二条评论中的备选选项。我遇到了一个命名错误:未初始化的常量绘图(我的模型名)

我试图通过将config.autoload_路径+=%W(#{config.root}/lib)作为建议包含进来来修复它,但没有成功。你知道如何解决这个问题吗?不想将CSV文件存储在应用程序中,但要将其行转移到my DB中,并使用它们的值创建记录

lib/tasks/import_图形_csv.rake

            task :drawing => :environment do
            require 'csv'    

                csv_text = File.read('path/to/public/imageshello.csv')
                CSV.foreach("path/to/public/imageshello.csv", :headers => true) do |row|
                  Drawing.create!(row.to_hash)
                end
            end
终端轨迹

            javiers-mbp:colour malditojavi$ rake import_drawings_csv
            rake aborted!
            NameError: uninitialized constant Drawing
            /Users/malditojavi/Desktop/colour/lib/tasks/import_drawings_csv.rake:5:in `block in <top (required)>'
            /Users/malditojavi/Desktop/colour/lib/tasks/import_drawings_csv.rake:4:in `<top (required)>'
            /Users/malditojavi/.rvm/gems/ruby-2.2.0/gems/railties-4.2.0/lib/rails/engine.rb:658:in `load'
            /Users/malditojavi/.rvm/gems/ruby-2.2.0/gems/railties-4.2.0/lib/rails/engine.rb:658:in `block in run_tasks_blocks'
            /Users/malditojavi/.rvm/gems/ruby-2.2.0/gems/railties-4.2.0/lib/rails/engine.rb:658:in `each'
            /Users/malditojavi/.rvm/gems/ruby-2.2.0/gems/railties-4.2.0/lib/rails/engine.rb:658:in `run_tasks_blocks'
            /Users/malditojavi/.rvm/gems/ruby-2.2.0/gems/railties-4.2.0/lib/rails/application.rb:438:in `run_tasks_blocks'
            /Users/malditojavi/.rvm/gems/ruby-2.2.0/gems/railties-4.2.0/lib/rails/engine.rb:453:in `load_tasks'
            /Users/malditojavi/Desktop/colour/Rakefile:6:in `<top (required)>'
            /Users/malditojavi/.rvm/gems/ruby-2.2.0/bin/ruby_executable_hooks:15:in `eval'
            /Users/malditojavi/.rvm/gems/ruby-2.2.0/bin/ruby_executable_hooks:15:in `<main>'
            (See full trace by running task with --trace)
            javiers-mbp:colour malditojavi$ rake import_drawings_csv
javiers mbp:Color malditojavi$rake导入\u图纸\u csv
雷克流产了!
NameError:未初始化的常量图形
/Users/malditojavi/Desktop/color/lib/tasks/import_drawings_csv.rake:5:in'block in'
/Users/malditojavi/Desktop/color/lib/tasks/import\u drawings\u csv.rake:4:in`'
/Users/malditojavi/.rvm/gems/ruby-2.2.0/gems/railties-4.2.0/lib/rails/engine.rb:658:in'load'
/Users/malditojavi/.rvm/gems/ruby-2.2.0/gems/railties-4.2.0/lib/rails/engine.rb:658:在“运行中的块任务块”中
/Users/malditojavi/.rvm/gems/ruby-2.2.0/gems/railties-4.2.0/lib/rails/engine.rb:658:in'each'
/Users/malditojavi/.rvm/gems/ruby-2.2.0/gems/railties-4.2.0/lib/rails/engine.rb:658:在“运行任务块”中
/Users/malditojavi/.rvm/gems/ruby-2.2.0/gems/railties-4.2.0/lib/rails/application.rb:438:在“运行任务块”中
/Users/malditojavi/.rvm/gems/ruby-2.2.0/gems/railties-4.2.0/lib/rails/engine.rb:453:in'load_tasks'
/用户/malditojavi/Desktop/color/Rakefile:6:in`'
/Users/malditojavi/.rvm/gems/ruby-2.2.0/bin/ruby_executable_hooks:15:in'eval'
/Users/malditojavi/.rvm/gems/ruby-2.2.0/bin/ruby\u executable\u hooks:15:in`'
(通过使用--trace运行任务查看完整跟踪)
javiers mbp:Color malditojavi$rake导入\u图纸\u csv
application.rb

            require File.expand_path('../boot', __FILE__)

            require 'rails/all'

            # Require the gems listed in Gemfile, including any gems
            # you've limited to :test, :development, or :production.
            Bundler.require(*Rails.groups)

            module Colour
              class Application < Rails::Application
                # new line added for autoloading libs
                config.autoload_paths += %W(#{config.root}/lib)
                # Settings in config/environments/* take precedence over those specified here.
                # Application configuration should go into files in config/initializers
                # -- all .rb files in that directory are automatically loaded.

                # Set Time.zone default to the specified zone and make Active Record auto-convert to this zone.
                # Run "rake -D time" for a list of tasks for finding time zone names. Default is UTC.
                # config.time_zone = 'Central Time (US & Canada)'

                # The default locale is :en and all translations from config/locales/*.rb,yml are auto loaded.
                # config.i18n.load_path += Dir[Rails.root.join('my', 'locales', '*.{rb,yml}').to_s]
                # config.i18n.default_locale = :de

                # Do not swallow errors in after_commit/after_rollback callbacks.
                config.active_record.raise_in_transactional_callbacks = true
              end
            end
需要文件。展开路径('../boot',文件)
需要“rails/all”
#需要Gemfile中列出的宝石,包括任何宝石
#您仅限于:测试、开发或:生产。
Bundler.require(*Rails.groups)
模块颜色
类应用程序
使用以下语法将解决您的问题

namespace :update_drawing do
    desc "Drawing desc"
        task :draw_me => :environment do
            csv_text = File.read('path/to/public/imageshello.csv')
            CSV.foreach('path/to/public/imageshello.csv', :headers => true) do |row|
            Drawing.create!(row.to_hash)
        end
     end
end