Remove use of wildcard cache expiry
authorTom Hughes <tom@compton.nu>
Wed, 21 Jul 2010 23:33:07 +0000 (00:33 +0100)
committerTom Hughes <tom@compton.nu>
Thu, 22 Jul 2010 19:47:34 +0000 (20:47 +0100)
Instead of doing wildcard cache expiry, just iterate over the
available locales, expiring the requested entry in each locale.

app/controllers/application_controller.rb

index 9af28de6f627de91c1a72151f6fb51dae21479c5..c50c5f66491fcfea5493a52b7a2f73ab8828b05c 100644 (file)
@@ -261,8 +261,9 @@ class ApplicationController < ActionController::Base
   ##
   # extend expire_action to expire all variants
   def expire_action(options = {})
-    path = ActionCachePath.path_for(self, options, false).gsub('?', '.').gsub(':', '.')
-    expire_fragment(Regexp.new(Regexp.escape(path) + "\\..*"))
+    I18n.available_locales.each do |locale|
+      super options.merge(:locale => locale)
+    end
   end
 
   ##