2010-03-28 5 views
2

У меня есть файл config.yml в моей/config папке моего приложения rails. У меня также есть инициализатор: конфиг/Инициализаторы/load_config.rb со следующим кодом:файл конфигурации в schedule.rb с рельсами Всякий раз, когда драгоценный камень?

APP_CONFIG = YAML.load_file("#{RAILS_ROOT}/config/config.yml") 

Я использую Когда драгоценный камень, чтобы создать хроны работу, и хотел бы использовать мой APP_CONFIG для вызова функции как так:

#inside schedule.rb 
every 2.hours do 
    runner "MyModel.someMethod('#{APP_CONFIG['some_value']}')" 
end 

но Всякий раз, когда драгоценный камень, кажется, не распознает файл конфигурации, когда я звоню

whenever --update-crontab mysite 

Как я могу включить значения из моего configuratio n в моем файле schedule.rb (вместо жесткого кодирования значения)?

Спасибо!

ответ

3

Редактировать ваш schedule.rb файл, чтобы добавить заявление require 'yaml' в начало страницы. Затем добавьте строку с вашего инициализаторе:

APP_CONFIG = YAML.load_file("#{RAILS_ROOT}/config/config.yml") 

Altenatively, вы можете, вероятно, просто необходим файл load_config.rb непосредственно. Тогда тебе должно быть хорошо.

+0

aha! поэтому инициализаторы не загружаются при загрузке load_config.rb? благодаря! я дам ему ход –

+0

работал как шарм! не нужно «require» yaml'', когда мне требуется load_config.rb. Спасибо, Джон, ты всегда так полезен! –

+0

Добро пожаловать. Я рад, что это сработало! –