いくつかの調査の後、おそらく、initialize_cache初期化子がrails/initializersよりも前に実行されているという説明があります。したがって、実行チェーンの早い段階で定義されていない場合、キャッシュストアは設定されません。 application.rbやenvironments/production.rb
のように、チェーンの早い段階で構成する必要があります。私の解決策は、アプリが次のように構成される前に、APP_CONFIGの読み込みを移動することでした:
APP_CONFIG = YAML.load_file(File.expand_path('../config.yml', __FILE__))[Rails.env]
そして同じファイルに:
config.cache_store = :redis_store, APP_CONFIG['redis']
もう1つのオプションは、cache_storeをbefore_configurationブロックに配置することでした。たとえば、次のようになります。
config.before_configuration do
APP_CONFIG = YAML.load_file(File.expand_path('../config.yml', __FILE__))[Rails.env]
config.cache_store = :redis_store, APP_CONFIG['redis']
end