Action caching and redirects

I have some code that uses caches_action to cache the output of a
“show” method, and a before_filter to redirect the user to a login
page if the user hasn’t already logged in. Unfortunately, when
redirect_to method sends the user off to the login page, caches_action
saves that redirect, so that subsequent attempts to access the same
“show” URL return a page that says “You are being redirected.”

Is there a way to stop the caching when a redirect occurs in a
before_filter?

Here’s some more detail, in case the above wasn’t clear:

  1. The user attempts to go http://csb-paul:3000/form/show/PHR, and
    instead gets redirected to
    http://csb-paul:3000/login/login. So far, so good.

  2. Once that happens, every attempt to get
    http://csb-paul:3000/form/show/PHR
    (whether or not the user has logged in) returns a page that says “You
    are being redirected.” I put a debugging statement in my
    before_filter, and it is not run once the page is cached (by
    caches_action, which I thought was always supposed to run the before
    filters??)

Also, when #2 happens, I am getting a message in the log that says,
“Filter chain halted as […filters.rb:597>] did not yield.” I’m not
sure if that is related to the problem.

Any helpful suggestions would be appreciated. Thanks,
–Paul

Don’t know if you’ve found a solution yet, but if you put in return
false after the redirect_to it won’t render the redirect page.

-mark