2015-03-27 3 views
2

Je tente de fragmenter le cache d'une partie statique de mon site, mais cela ne semble pas fonctionner du tout. J'ai mis en place config/application.rb ce qui suit:Rails 4.2 la mise en cache des fragments ne fonctionne pas

config.action_controller.perform_caching = true 
config.cache_store = :dalli_store 

À mon avis, j'ai ceci:

<% cache 'cache_key' do %> 
    <!-- cached markup --> 
<% end %> 

Je ne vois rien dans mes journaux de sauver le fragment en cache ou le récupérer sur les chargements de page suivants. J'ai également essayé d'utiliser la mise en cache Rails :file_store par défaut. Je sais que le magasin de cache fonctionne parce que l'utilisation Rails.cache.fetch fonctionne correctement.

Comment puis-je faire fonctionner cela?

Répondre

3

Vous travaillez probablement dans votre environnement de développement. dans/config/environments/development change:

# Afficher les rapports d'erreur complets et désactiver la mise en cache.
config.consider_all_requests_local = true
config.action_controller.perform_caching = false

À

# Afficher les rapports d'erreur complète et la mise en cache désactiver.
config.consider_all_requests_local = true
config.action_controller.perform_caching = vrai

Les paramètres de développement pourraient remplacer les autres paramètres. Assurez-vous que memcache est installé et en cours d'exécution. Si quelque chose ne va pas, cela devrait apparaître dans la console.

6

Rails 5:

$ rails dev:cache 
Development mode is now being cached. 

cache dans un environnement Active de développement.

+0

Puisque cette question concerne Rails 4.2, vous voudrez peut-être laisser ceci comme commentaire ... (De plus, ce que votre code est censé faire dans le contexte de cette question n'est pas vraiment clair) –