(С тех пор видели, что рельсы брошены, упомянутые выше [эпизод 85] - это выглядит немного больше "пути рельсов", чем ниже)
Другой подход заключается в использовании существующего механизма конфигурации в Rails.
Предположим, есть два типа конфигов:
- Широкие конфиги приложения, общие для сред dev / test / prod
- Конфиги, специфичные для среды dev / test / prod
Для первого сценария элементы в "RAILS_ROOT + '/config/environment.rb'" работают. Просто посмотрите, что имена запечатлены, поэтому они являются константами Ruby. Вариантом этого является ссылка на другой файл в этом файле environment.rb ...
require RAILS_ROOT + '/config/appConfigCommon.rb'
и поместите соответствующие элементы конфигурации в этот файл. Преимущество заключается в возможности ссылаться независимо от Rails.
Для сценария 2 может быть использован аналогичный подход. Поместите элементы для разработки в "RAILS_ROOT + '/config/environments/development.rb'" или что-то вроде
require RAILS_ROOT + '/config/environments/appConfigDev.rb'
и поместите элементы, относящиеся к среде, в этот требуемый файл, убедившись, что они начинаются с заглавных букв. И следуйте той же схеме для теста / продукта (и других, если это необходимо).
Элементы конфигурации доступны напрямую в представлениях и контроллерах (не уверены в моделях), просто используя постоянное имя.