I've written an extension that needs to do some processing on every
call to a page in the cms. Basically, it checks for a cookie and
redirects the user if a certain value is present. I'm running into a
problem where that piece of code is not being called after the first
call to the app. I believe it's because of caching...
When i set cache_timeout to small, it works:
SiteController.cache_timeout = 1.second
The extension is a SiteController extension:
def activate
Page.class_eval {
SiteController.send :include,
IpRedirect::SiteControllerExt
}
end
The controller:
module SiteControllerExt
def self.included(base)
base.class_eval do
base.send(:include, InstanceMethods)
before_filter :lookup_preferred_language_and_redirect
end
module InstanceMethods
def lookup_preferred_language_and_redirect
....
end
Is it possible that the before_filter is not called when caching is
turned on? Is there a way to make sure
that :lookup_preferred_language_and_redirect is called regardless of
caching?
I'm on 0.8.2 for this one.
Thanks in advance!
Stan