2015-05-08 2 views
1

Я использую Carrierwave, чтобы загрузить изображения, но и некоторые проблемы: Это бревно из Heroku:NameError: неинициализированная постоянная 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. 

Вот мои файлы:

carrier_wave.rb:

if Rails.env.production? 
    Carrierwave.configure do |config| 
     config.fog_credentials = { 
      :provider => 'AWS', 
      :aws_access_key_id => ENV['S3_ACCESS_KEY'], 
      :aws_secrety_access_key => ENV['S3_SECRET_KEY'] 
     } 
     config.fog_directory = ENV['S3_BUCKET'] 
    end 
end 

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 

Вот мой Gemfile:

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' 

enter code here камень 'mini_magick', '~> 3.8.0' enter code here камень 'туман', '~> 1.23.0' enter code here камень 'ЗПС', " ~> 0.4.0' , группа:: док

группа: разработка,: тест сделать камень 'byebug' Gem 'веб-консоли', '~> 2,0' камень 'весна' конец

У меня есть драгоценные камни и версии, установленные в моем gemfile.

Я не знаю, в чем проблема, я провел целые исследования, но я могу решить проблему.

Благодаря

+0

Где вы инициализируете несущую волну? пожалуйста, укажите свой Gemfile – Cyzanfar

+0

Я добавил Gemfile –

+1

Существует опечатка в постоянном имени - правильное имя CarrierWave. Проверьте документацию https://github.com/carrierwaveuploader/carrierwave – andrykonchin

ответ

1

В файле carrier_wave.rb, у вас есть опечатка в названии. Измените Carrierwave на CarrierWave. Как в documentation

+0

Спасибо за помощь. Вы были правы. –