NameError:Heroku日志中未初始化的常量CarrierWave :: Storage :: Fog

joe*_*k16 4 ruby ruby-on-rails heroku amazon-s3 ruby-on-rails-4

您好,我刚刚将AWS S3存储桶添加到了我的应用程序中。

这是应用程序错误https://dry-atoll-6663.herokuapp.com/

当我$ heroku重新启动时,在heroku日志中出现此错误

2015-04-28T09:13:15.009823+00:00 app[web.1]: [3] ! Unable to load application: NameError: uninitialized constant CarrierWave::Storage::Fog
Run Code Online (Sandbox Code Playgroud)

我的Carrierwave.rb

CarrierWave.configure do |config|
config.fog_credentials = {
  # Configuration for Amazon S3
  :provider              => 'AWS',
  :aws_access_key_id     => ENV['S3_ACCESS_KEY'],
  :aws_secret_access_key => ENV['S3_SECRET_KEY']
}
config.fog_directory     =  ENV['S3_BUCKET']
end
Run Code Online (Sandbox Code Playgroud)

有任何想法吗?我和我的朋友正在抓紧我们的头...

Ben*_*oux 5

感谢@Marcus在评论中正确回答此问题。

在您的config/initializers/carrierwave.rb文件中,您将需要更新

CarrierWave.configure do |config|
  # This is the old way, and broken
  config.storage = :fog
Run Code Online (Sandbox Code Playgroud)

进入

CarrierWave.configure do |config|
  # This is the new way!
  config.fog_provider = 'fog/aws'
Run Code Online (Sandbox Code Playgroud)

有关更多信息,请参见carrierwave github