2012-01-03 54 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