Se non è stato modificato il contenuto delle risorse, la versione precompilata sarà la stessa di quella precedente. Se lo cambi anche un po ', l'impronta digitale cambierà e l'app richiederà il nuovo solo come hai impostato config.assets.digest = true
.
In ogni caso un altro lavoro intorno sarebbe:
basta eseguire:
rake assets:clean
e poi,
rake assets:precompile
Questo rende tutto in cantiere risorsa per essere ricostruito e servire fresco.
Rails cancella automaticamente la cache per ogni singolo file quando viene modificato il suo contenuto.
Se una di queste non ha funzionato, prova come di seguito:
config.serve_static_assets = true
in config/ambienti/production.rb
config.serve_static_assets configura Rails stesso per servire beni statici. Il valore predefinito è true, ma nell'ambiente di produzione viene disattivato poiché il software server (ad esempio Nginx o Apache) utilizzato per eseguire l'applicazione deve invece servire risorse statiche. A differenza dell'impostazione predefinita, imposta su true quando è in esecuzione (assolutamente sconsigliato!) O prova la tua app in modalità produzione usando WEBrick. Altrimenti non sarà possibile utilizzare la memorizzazione nella cache della pagina e le richieste di file che esistono regolarmente nella directory pubblica raggiungeranno comunque l'app Rails.
Rif: http://guides.rubyonrails.org/configuring.html#rails-general-configuration
Speranza che aiuta :)
fonte
2014-04-21 03:53:41
Is Fingerprinting abilitato per beni compilati? –
Sì, le risorse compilate sono rilevate con le impronte digitali. La configurazione è predefinita Rails 4 tranne che 'config.serve_static_assets = true' che è necessario per rendere Webrick al servizio di asset da'/public', 'config.assets.digest = true' è impostato. Le risorse hanno nomi come 'application-01d7312dee865ebe9d525b15f2fbe7f0.css', questo è il valore che si trova nell'intestazione della pagina. Il problema è che la vecchia versione è ancora in uso dopo che ne è stata costruita una nuova. –
Versione precedente significa che hai cambiato i contenuti? Se non hai modificato il contenuto delle risorse, la versione precompilata sarà la stessa di quella precedente e se la cambierai un po ', l'impronta digitale cambierà e l'app richiederà la nuova solo quando avrai configurato 'config. assets.digest = true'. –