Что лучший способ состоит в том, чтобы сохранить специфичную для приложений конфигурацию в направляющих?

Вы можете использовать $ expr (оператор версии 3.6 mongo) для использования функций агрегации в регулярном запросе.

Сравнить query operators vs aggregation comparison operators .

db.accommodations.find({$expr:{$gt:[{$size:"$name"}, 1]}})

6
задан Ricardo Acras 21 September 2008 в 02:43
поделиться

4 ответа

Я помогал другу настроить решение, упомянутое Ricardo вчера. Мы взломали его немного путем загрузки файла YAML чем-то подобным этому (идущий из памяти здесь):

require 'ostruct'
require 'yaml'
require 'erb'
#config = OpenStruct.new(YAML.load_file("#{RAILS_ROOT}/config/config.yml"))
config = OpenStruct.new(YAML.load(ERB.new(File.read("#{RAILS_ROOT}/config/config.yml")).result))
env_config = config.send(RAILS_ENV)
config.common.update(env_config) unless env_config.nil?
::AppConfig = OpenStruct.new(config.common)

Это позволило ему встраивать код Ruby в конфигурации, как в Rhtml:

development:
  path_to_something: <%= RAILS_ROOT %>/config/something.yml
4
ответ дан 8 December 2019 в 12:24
поделиться

Взгляд на Configatron: http://github.com/markbates/configatron/tree/master

Я должен все же использовать его, но он активно разрабатывает его теперь и выглядит довольно хорошим.

11
ответ дан 8 December 2019 в 12:24
поделиться

Самая основная вещь сделать состоит в том, чтобы установить переменную класса от Вашего environment.rb. Я сделал это для Google Analytics. По существу я хочу другой ключ, в зависимости от которой среды я нахожусь в так разработке, или подготовка не скашивают метрики.

Это - то, как я сделал это.

В lib/analytics/google_analytics.rb:

module Analytics
  class GoogleAnalytics
    @@account_id = nil

    cattr_accessor :account_id
  end
end

И затем в environment.rb или в environments/production.rb или любой из других файлов среды:

Analytics::GoogleAnalytics.account_id = "xxxxxxxxx"

Затем где угодно Вы ned к ссылке, говорит раскладка по умолчанию с Google Analytics JavaScript, это Вы просто, звоните Analytics::GoogleAnalytics.account_id.

4
ответ дан 8 December 2019 в 12:24
поделиться

Я нашел хороший путь здесь

0
ответ дан 8 December 2019 в 12:24
поделиться
Другие вопросы по тегам:

Похожие вопросы: