J'ai une requête qui tire des statistiques que je voudrais placer sur le pied de chaque page de mon application. Si naturel que je mets dans le application.rb, mais les statistiques en question ne change pas tout au long de la journée en général ...rails mise en cache pour application.rb
En gros, dans le pied de page, il dira:
Actuellement, 46 pays, 75 villes et 20 000 emplacements.
Mais je voudrais mettre en cache cette requête afin qu'elle ne ralentisse pas mon application, elle a seulement besoin de mettre à jour peut-être une fois par jour. Comment ferais-je cela?
@stat = Location.find(:all, :select => 'COUNT(locations.id) AS locations, COUNT(DISTINCT(city)) AS cities, COUNT(DISTINCT(countries.name)) AS countries', :joins => [ :places, :country ], :conditions => [ 'email IS NOT NULL' ]).first
En fait, j'ai essayé cela en premier, mais cela ne semble pas fonctionner entre contrôleurs, même si c'est dans le contrôleur d'application. Mais j'ai fait un fragment de cache et cela semble fonctionner. Merci! – holden