2013-01-06 10 views
14

私はRailsアプリケーションでHerokuとS3を使用しています。自分のローカルコンピュータが迷惑メールであるため、霧の宝石を生産モードでインストールしているだけです。とにかく、それはこの方法でうまく動作し、ローカルにインストールされた霧を得るために私の髪を引き出すより良い解決策であることが分かっていますが、今はlocalhostを使用するようにアップローダーファイルを切り替えてからコミットメントを作るために戻します。FogとCarrierWaveをプロダクションでのみ使用する方法

ローカルでファイルを使用して、手動で前後に切り替えることなくプロダクションモードで霧をかけることができればうれしいです。誰にどのようにこれを行うにはどのような提案がありますか?

ありがとうございます。

答えて

47

これはかなり簡単です。設定ファイルで定義する必要があります。しかし、あなたのモデルにストレージを定義しないでください。これは、設定ファイルの設定を上書きするためです。

# sample config/initializers/carrierwave.rb 
CarrierWave.configure do |config| 

    if Rails.env.development? || Rails.env.test? 
    config.storage = :file 
    else 
    config.fog_credentials = { 
     :provider    => 'AWS', 
     :aws_access_key_id  => 'some_access_key_id', 
     :aws_secret_access_key => 'some_secret_key', 
     :region     => 'eu-west-1' 
    } 
    config.storage = :fog 
    config.fog_directory = 'bucket_name' 
    end 
end 
+2

昨日ありがとうございました。魅力のように働いた。 – spitfire109

+0

問題を解決済みとしてマークしてください。 – Fa11enAngel

+0

現在のバージョンのcarrierwaveでは 'config.fog_credentials'の後に' config.storage'を置く必要があります – joseramonc

関連する問題