14

Rails アプリで Heroku と S3 を使用しています。私のローカル コンピューターはガラクタなので、フォグ ジェムはプロダクション モードでのみインストールしています。とにかく、この方法で問題なく動作し、髪を引っ張ってローカルにフォグをインストールするよりも優れたソリューションであることが証明されていますが、今度はアップローダ ファイルを切り替えて localhost を使用し、元に戻してコミットメントを行う必要があります。

ファイルをローカルで使用してから、本番モードでフォグを手動で切り替えることなく使用できると便利です。これを行う方法について何か提案はありますか?

よろしくお願いします。

4

1 に答える 1

49

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

# 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
于 2013-01-06T19:14:19.043 に答える