в моем текущем проекте Rails я получил много инициализаторов, относящихся к среде, например, мой carrierwave.rb
:
Для разработки я использую что-то вроде:
CarrierWave.configure do |config|
config.cache_dir = Rails.root.join('tmp', 'carrierwave')
config.storage = :file
end
Для производства я использую S3 до fog
:
CarrierWave.configure do |config|
config.cache_dir = Rails.root.join('tmp', 'carrierwave')
config.storage = :fog
config.fog_public = false
config.fog_credentials = {
provider: 'AWS',
aws_access_key_id: '...',
aws_secret_access_key: '...'
}
end
Я не хочу использовать много вызовов Rails.env.development?
для переключения между конфигами, и я не хочу хранить эти инициализаторы в моих environment/*.rb
файлах. Есть ли способ, например, создать каталог для каждой из моих сред в каталоге initializers
?
initializers
├── development
│ └── carrierwave.rb
├── production
│ └── carrierwave.rb
└── test
└── carrierwave.rb
Проблема в соответствии с руководствами Rails следующая:
Вы можете использовать подпапки для организации ваших инициализаторов, если хотите, потому что Rails просматривает всю файловую иерархию из папки инициализаторов и далее.