Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/28.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 NameError:未初始化的常量Carrierwave(部署到Heroku)_Ruby On Rails_Linux_Postgresql_Heroku - Fatal编程技术网

Ruby on rails NameError:未初始化的常量Carrierwave(部署到Heroku)

Ruby on rails NameError:未初始化的常量Carrierwave(部署到Heroku),ruby-on-rails,linux,postgresql,heroku,Ruby On Rails,Linux,Postgresql,Heroku,我正在使用Carrierwave上传图像,但我有一些问题:这是heroku的日志: Running `rake db:migrate` attached to terminal... up, run.2276 rake aborted! NameError: uninitialized constant Carrierwave /app/config/initializers/carrier_wave.rb:2:in `<top (required)>' /app/vendor/b

我正在使用Carrierwave上传图像,但我有一些问题:这是heroku的日志:

 Running `rake db:migrate` attached to terminal... up, run.2276
rake aborted!
NameError: uninitialized constant Carrierwave
/app/config/initializers/carrier_wave.rb:2:in `<top (required)>'
/app/vendor/bundle/ruby/2.0.0/gems/railties-4.2.0/lib/rails/engine.rb:652:in `block in load_config_initializer'
/app/vendor/bundle/ruby/2.0.0/gems/activesupport-4.2.0/lib/active_support/notifications.rb:166:in `instrument'
/app/vendor/bundle/ruby/2.0.0/gems/railties-4.2.0/lib/rails/engine.rb:651:in `load_config_initializer'
/app/vendor/bundle/ruby/2.0.0/gems/railties-4.2.0/lib/rails/engine.rb:616:in `block (2 levels) in <class:Engine>'
/app/vendor/bundle/ruby/2.0.0/gems/railties-4.2.0/lib/rails/engine.rb:615:in `each'
/app/vendor/bundle/ruby/2.0.0/gems/railties-4.2.0/lib/rails/engine.rb:615:in `block in <class:Engine>'
/app/vendor/bundle/ruby/2.0.0/gems/railties-4.2.0/lib/rails/initializable.rb:30:in `instance_exec'
/app/vendor/bundle/ruby/2.0.0/gems/railties-4.2.0/lib/rails/initializable.rb:30:in `run'
/app/vendor/bundle/ruby/2.0.0/gems/railties-4.2.0/lib/rails/initializable.rb:55:in `block in run_initializers'
/app/vendor/bundle/ruby/2.0.0/gems/railties-4.2.0/lib/rails/initializable.rb:44:in `each'
/app/vendor/bundle/ruby/2.0.0/gems/railties-4.2.0/lib/rails/initializable.rb:44:in `tsort_each_child'
/app/vendor/bundle/ruby/2.0.0/gems/railties-4.2.0/lib/rails/initializable.rb:54:in `run_initializers'
/app/vendor/bundle/ruby/2.0.0/gems/railties-4.2.0/lib/rails/application.rb:352:in `initialize!'
/app/config/environment.rb:5:in `<top (required)>'
/app/vendor/bundle/ruby/2.0.0/gems/railties-4.2.0/lib/rails/application.rb:328:in `require_environment!'
/app/vendor/bundle/ruby/2.0.0/gems/railties-4.2.0/lib/rails/application.rb:443:in `block in run_tasks_blocks'
Tasks: TOP => db:migrate => environment
(See full trace by running task with --trace)
WARNING: Toolbelt v3.36.4 update available.
Application.rb:

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

require 'rails/all'
require 'carrierwave'

Bundler.require(*Rails.groups)

module MagicRecipes
  class Application < Rails::Application

    config.autoload_paths += %W(#{config.root}/app/uploaders)

    config.serve_static_files = true

    config.active_record.raise_in_transactional_callbacks = true
    config.assets.initialize_on_precompile = false
  end
end

picture_uploader.rb

    class PictureUploader < CarrierWave::Uploader::Base


  include CarrierWave::MiniMagick
  process resize_to_limit: [600, 600]


  if Rails.env.production?
    storage :fog
  else
    storage :file

  end

  def store_dir
    "uploads/#{model.class.to_s.underscore}/#{mounted_as}/#{model.id}"
  end


    def extension_white_list
      %w(jpg jpeg gif png)
    end



end
在此处输入代码
gem'mini_magick',“~>3.8.0”
在此处输入代码
gem'fog',“~>1.23.0”
在此处输入代码
gem'sdoc','~>0.4.0',group::doc

小组:开发,:测试 宝石“比伯” gem“web控制台”,“~>2.0” 宝石“春天” 结束

我的gems文件中安装了gems和版本

我不知道问题出在哪里,我做了整个研究,但我能解决问题


谢谢

在您的carrier_wave.rb文件中,您的名字有一个输入错误。将Carrierwave更改为Carrierwave。在

中,您在哪里初始化Carrierwave?请包括您的gemfile常量名称中有一个输入错误-正确的名称是CarrierWave。检查文件
    require File.expand_path('../boot', __FILE__)

require 'rails/all'
require 'carrierwave'

Bundler.require(*Rails.groups)

module MagicRecipes
  class Application < Rails::Application

    config.autoload_paths += %W(#{config.root}/app/uploaders)

    config.serve_static_files = true

    config.active_record.raise_in_transactional_callbacks = true
    config.assets.initialize_on_precompile = false
  end
end

picture_uploader.rb

    class PictureUploader < CarrierWave::Uploader::Base


  include CarrierWave::MiniMagick
  process resize_to_limit: [600, 600]


  if Rails.env.production?
    storage :fog
  else
    storage :file

  end

  def store_dir
    "uploads/#{model.class.to_s.underscore}/#{mounted_as}/#{model.id}"
  end


    def extension_white_list
      %w(jpg jpeg gif png)
    end



end
source 'https://rubygems.org'

gem 'rails', '4.2.0'
gem 'pg', '~> 0.18.1'
gem 'sass-rails', '~> 5.0'
gem 'uglifier', '>= 1.3.0'
gem 'coffee-rails', '~> 4.1.0'
gem 'jquery-rails'
gem 'turbolinks'
gem 'jbuilder', '~> 2.0'

gem 'rails_12factor', '~> 0.0.3'
gem 'bootstrap-sass', '~> 3.3.4.1'
gem 'devise', '~> 3.4.1'
gem 'paperclip', '~> 4.2.1'
gem 'aws-sdk', '~> 1.59.1'
gem 'will_paginate', '~> 3.0.7'
gem 'pry', '~> 0.10.1'
gem 'will_paginate-bootstrap', '~> 1.0.1'
gem 'carrierwave', '~> 0.10.0'