21

アプリをローカルで実行するときは Carrier Wave がローカル ファイル ストレージを使用し (開発)、heroku にロードした後に s3 を使用するように環境を構成する方法がわかりません (実稼働)。

開発ストレージ内:ファイル

本番ストレージ:s3

4

3 に答える 3

24

いずれかのモデル、またはグローバルに設定できます。https://github.com/jnicklas/carrierwave/tree/v0.5.2で v0.5.2 (現在の gem) の readme をご覧ください。

下部近くに、テスト環境を構成するための手順がいくつかあります。同じアプローチを使用して、「開発」と「生産」に異なる構成を使用します。たとえば、ファイル「carrierwave.rb」を「config/initialisers」に追加し、構成コードを追加します。

if Rails.env.test? or Rails.env.cucumber?
  CarrierWave.configure do |config|
    config.storage = :file
    config.enable_processing = false
  end
end

そして開発のために

if Rails.env.development?
  CarrierWave.configure do |config|
    config.storage = :file
  end
end

と生産

if Rails.env.production?
  CarrierWave.configure do |config|
    config.storage = :s3
  end
end
于 2011-03-20T21:05:14.697 に答える
1

これはどこかのモデルに設定されていると思います。次のようなことができます

if Rails.env.production?
  // set production
else
  // set dev / test
end
于 2011-03-20T20:06:09.507 に答える