2

Railsアプリケーションの/configフォルダーにconfig.ymlというファイルがあります。イニシャライザーもあります:config / initializers / load_config.rb、次のコード:

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

私はWhenevergemを使用してcronジョブを設定しており、APP_CONFIGを使用して次のような関数を呼び出したいと考えています。

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

しかし、私が呼び出したときにgemが設定ファイルを認識しないように見えるときはいつでも

 whenever --update-crontab mysite

(値をハードコーディングする代わりに)schedule.rbファイルに構成の値を組み込むにはどうすればよいですか?

ありがとう!

4

1 に答える 1

3

ファイルを編集して、ステートメントを先頭schedule.rbに追加します。require 'yaml'次に、イニシャライザから次の行を追加します。

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

load_config.rbまたは、ファイルを直接要求することもできます。あなたはその時行ってもいいはずです。

于 2010-03-29T09:28:50.777 に答える