2012-01-03 80 views
6

我有点迷失了Heroku和Carrierwave宝石。我已阅读WIKI,请阅读并搜索网络,我承认,我需要帮助。本地的一切都很好,但Heroku粉碎了应用程序。Carrierwave宝石 - 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 

当我更改存储到文件没有雾的话,我没有得到错误。是否有其他雾设置我跳过或丢失。任何帮助不胜感激。我是否需要使用雾设置创建单独的文档?

+0

你没有遗漏任何东西 - 但只是为了检查明显的,你已经捆绑并提交了锁定文件并将其推送到heroku?我使用的是与Heroku同一版本的Carrierwave,并且没有问题,所以这是我的恐惧情况。你有没有在lib/carrierwave中使用雾凭证? – 2012-01-03 20:09:19

+0

谢谢John,Habe的捆绑和承诺。 Carrierwave谈论在lib目录中添加文件。我只有/config/initializers/carrierwave.rb我应该在lib目录下的文件? – Benjamin 2012-01-03 20:42:50

+0

不,你完全正确的配置/初始化 - lib/carrierwave已知会导致你得到的错误。 – 2012-01-03 20:49:42

回答

0

这也许不是解决你的问题,但它是值得一试的加入

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

如果不帮助你能还发表您上传的文件?

+0

谢谢尤里我会添加该行。非常感激。 – Benjamin 2012-01-04 06:33:53