Как использовать туман с CarrierWave только в производстве
Я использую Heroku и S3 с моим Rails-приложением. У меня есть только туманный камень, установленный в режиме производства, потому что мой локальный компьютер - это кусок хлама. В любом случае, он отлично работает в этом направлении и оказался лучшим решением, чем вытягивание моих волос, чтобы получить туман, установленный локально, но теперь мне нужно переключить файл Uploader на использование localhost, а затем переключить его, чтобы сделать обязательство.
Было бы неплохо иметь возможность использовать файл локально, а затем туман в рабочем режиме без ручного переключения туда и обратно. Кто-нибудь имеет какие-либо предложения о том, как это сделать?
Большое спасибо заранее.
Ответы
Ответ 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