Carrierwave Gem - Heroku - Fog Gem配置 - 给出名称错误

时间:2012-01-03 18:19:36

标签: ruby-on-rails-3.1 heroku amazon-s3 carrierwave fog

我和Heroku以及Carrierwave Gem有点失落。我已经阅读了WIKI,阅读我并搜索网络,我承认,我需要帮助。一切都在当地很好,但Heroku粉碎了应用程序。

/// HEROKU LOGS的错误信息

2012-01-03T17:33:26+00:00 app[web.1]: /app/vendor/bundle/ruby/1.9.1/gems/carrierwave-0.5.8/lib/carrierwave/uploader/configuration.rb:91:in `eval': uninitialized constant CarrierWave::Storage::Fog (NameError

/// GEM FILE

gem "fog"
gem 'carrierwave'

/app/uploaders/avatar_uploader.rb

storage :fog

/config/initializers/carrierwave.rb

CarrierWave.configure do |config|
  config.fog_credentials = {
    :provider               => 'AWS',    
    :aws_access_key_id      => 'XXXX',    
    :aws_secret_access_key  => 'XXXX',   
    :region                 => 'eu-west-1'  # optional, defaults to 'us-east-1'
  }
  config.fog_directory  = 'site_images'  # required
  config.fog_public     = true     # optional, defaults to true
  config.fog_attributes = {'Cache-Control'=>'max-age=315576000'}  # optional, defaults to {}
end

当我将存储更改为文件而不是雾时,我不会收到错误。我是否正在跳过或丢失任何其他雾设置。任何帮助非常感谢。我是否需要使用雾设置创建单独的文档?

1 个答案:

答案 0 :(得分:0)

它可能不是您问题的解决方案,但值得尝试添加

config.cache_dir = "#{Rails.root}/tmp/uploads"。这将有助于保留文件,直到它们上传到您的S3桶。

如果这没有用,您还可以发布上传者文件吗?