Каков наилучший способ управления конфигурациями в Ruby on Rails? - PullRequest
1 голос
/ 07 ноября 2010

У меня есть приложение, которое имеет много API-ключей и настроек для управления, и они загружаются с помощью инициализатора. Поскольку они различны для каждой среды, я не могу установить константу в файле environment.rb. (Я попробовал это; не сработало.) Поэтому я начал комментировать и раскомментировать вручную перед каждым развертыванием, что утомительно. Мне интересно, что было бы лучше для ситуации, когда вам приходится иметь дело с несколькими параметрами конфигурации, загруженными в инициализатор.

Ответы [ 2 ]

2 голосов
/ 07 ноября 2010

В вашем environment.rb вы можете установить свои ключи, если запрос поступает из локальной сети:

Rails::Initializer.run do |config| 
    if local_request?
       CONSTANT1 = 10
    else
       CONSTANT1 = 20
    end 
end

Что это будет делать, это проверить, если вы находитесь на localhost, который localhost:3000, ваша среда разработки. Если это так, то оператор if / else выберет, какую константу установить.

другой вариант - установить константы в папке вашей среды, что, вероятно, является лучшей идеей

так, чтобы ваши производственные константы поместили их в config/environments/production.rb.

и для ваших констант развития поместите их в config/environments/development.rb.

1 голос
/ 07 ноября 2010

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...