2010-03-28 57 views
2

我在我的rails应用程序的/ config文件夹中有一个名为config.yml的文件。 我也有一个初始化:配置/初始化/ load_config.rb用下面的代码:配置文件在schedule.rb与Rails每当宝石?

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

我现在用的是每当创业板设立一个cron作业,并想用我的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时,初始化程序不会被加载?谢谢!我会给它一个 – 2010-03-29 16:07:35

+0

像一个魅力工作!当我需要load_config.rb时,不需要'require'yaml'。谢谢,约翰,你总是很有帮助! – 2010-03-29 16:11:54

+0

不客气。我很高兴它的工作! – 2010-03-29 19:00:23