As far as I understand if there is a cached page already available the radian sitecontroller doesn't even get executed. The server spits out the generated page.
If you wish to have code executed everytime for every page access, you pretty much have to disable caching. If it's only afew specific pages that require this, you want to declare your own page type and define the following: def cache? false end On Oct 21, 2:53 pm, Stan Rawrysz <[email protected]> wrote: > 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
