2012-01-03 11 views
6

HerokuとCarrierwave Gemで少し迷っています。私はWIKIを読んで、私を読んでネットを検索しました。私は助けが必要だと認めます。地元でもヘロクでもすべてがうまくいきます。Carrierwave Gem - Heroku - Fog Gemの設定 - 名前のエラーが発生しました

Herokuのログから///エラーメッセージ

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ファイル

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

あなたは何も見逃していませんが、明らかに確認するために、ロックファイルをバンドルしてコミットし、それを英雄にプッシュしましたか?私はCarrierwaveと同じバージョンのHerokuを霧で使用していますので、あなたのケースに特有のものです。恐れています。あなたはlib/carrierwaveに霧の資格を持っていることはありませんか? –

+0

ありがとうJohn、Habeはバンドルされ、コミットされました。 Carrierwaveはlibディレクトリにファイルを追加します。私は/config/initializers/carrierwave.rbを持っていればlibディレクトリの下にファイルがあるはずですか? – Benjamin

+0

いいえ、あなたはconfig/initializersで正確に正しいです - lib/carrierwaveは、あなたが得ているエラーを引き起こすことが知られています。 –

答えて

0

それはあなたの問題への解決策ではないかもしれませんが、それは

config.cache_dir = "#{Rails.root}/tmp/uploads"を追加試してみる価値はあります。これは、S3バケットにアップロードされるまでファイルを保持するのに役立ちます。

これで問題が解決しない場合は、アップローダーファイルも投稿できますか?

+0

Thanks Yuri私はその行を追加します。とても有難い。 – Benjamin