Как использовать туман с CarrierWave только в продакшене

Я использую Heroku и S3 с моим приложением Rails. У меня только драгоценный камень тумана установлен в производственном режиме, потому что мой локальный компьютер - кусок мусора. В любом случае, это прекрасно работает и оказалось лучшим решением, чем рвать на себе волосы, чтобы установить туман локально, но теперь мне нужно переключить файл загрузчика на использование локального хоста, а затем переключить его обратно, чтобы взять на себя обязательство.

Было бы неплохо иметь возможность использовать файл локально, а затем туманить в рабочем режиме без ручного переключения туда и обратно. Есть ли у кого-нибудь предложения о том, как это сделать?

Заранее большое спасибо.


person spitfire109    schedule 06.01.2013    source источник


Ответы (1)


Это довольно легко. Вы должны определить это в файле конфигурации. Но не определяйте хранилище в своих моделях, так как это переопределит настройки из файла конфигурации.

# 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
person Fa11enAngel    schedule 06.01.2013
comment
В текущей версии несущей волны вы должны поставить config.storage ПОСЛЕ config.fog_credentials - person joseramonc; 03.05.2017