Carrierwaveを使ってimageのupload後にrails コンソールで確認をしようとして、このようなエラーが出てしまいました!
環境はこちらです
1 2 3 |
ruby 2.3.0 Rails 4.2.7.1 editor cloud9 |
エラー内容
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
$ rails c Running via Spring preloader in process 23442 Loading development environment (Rails 4.2.7.1) 2.3.0 :001 > User.all NameError: uninitialized constant User::ImageUploader from /home/ubuntu/workspace/seed_test/app/models/user.rb:2:in `<class:User>' from /home/ubuntu/workspace/seed_test/app/models/user.rb:1:in `<top (required)>' from (irb):1 from /usr/local/rvm/gems/ruby-2.3.0/gems/railties-4.2.7.1/lib/rails/commands/console.rb:110:in `start' from /usr/local/rvm/gems/ruby-2.3.0/gems/railties-4.2.7.1/lib/rails/commands/console.rb:9:in `start' from /usr/local/rvm/gems/ruby-2.3.0/gems/railties-4.2.7.1/lib/rails/commands/commands_tasks.rb:68:in `console' from /usr/local/rvm/gems/ruby-2.3.0/gems/railties-4.2.7.1/lib/rails/commands/commands_tasks.rb:39:in `run_command!' from /usr/local/rvm/gems/ruby-2.3.0/gems/railties-4.2.7.1/lib/rails/commands.rb:17:in `<top (required) 以下省略 |
対処方法
“config.autoload_paths += Dir[Rails.root.join(‘app’, ‘uploaders’)]”の一行をconfig/application.rbに追加してやることで、エラーは出ずに無事モデルを参照することができました!
1 2 3 4 5 6 |
module myapp class Application < Rails::Application config.autoload_paths += Dir[Rails.root.join('app', 'uploaders')] # この行を追加 end end |
以上です!
誰かのお役に立てればと思います!