Efter nogle undersøgelser er en sandsynlig forklaring, at initialize_cache-initialisatoren køres langt før skinnerne/initialisatorerne. Så hvis det ikke er defineret tidligere i udførelseskæden, vil cache-lageret ikke blive indstillet. Du skal konfigurere det tidligere i kæden, f.eks. i application.rb eller environments/production.rb
Min løsning var at flytte APP_CONFIG-indlæsningen, før appen bliver konfigureret sådan her:
APP_CONFIG = YAML.load_file(File.expand_path('../config.yml', __FILE__))[Rails.env]
og derefter i samme fil:
config.cache_store = :redis_store, APP_CONFIG['redis']
En anden mulighed var at placere cache_store i en before_configuration-blok, noget som dette:
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