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

Reply via email to