Prevent caching of helper method

Hi,
I have a helper method to get a date from a cookie (in application
helper) that looks like this:

def getToday
   if(cookies[:date])
    cookies[:date].to_date
  else
    Date.today
  end
end

I set the cooke date using a before_filter method in the application
controller, reading a GET param:

before_filter :save_today_as_cookie

  def save_today_as_cookie

    if params[:d]
      cookies.delete :date
      cookies[:date] = {
        :value => params[:d],
        :expires => 1.hours.from_now
      }
    end
  end

This works fine, but if I want to change the date by passing a new
date parameter, I have to reload the page twice that it takes affect.

The cookie changes instantly. It seems to me, that the result of the
helper function is cached for one more load.
Setting expiring headers or etags did not help.

I'm using Rails 2.3.2 and no special cache plugin/gem/configuration.

Regards,

Chris

It's not your helper function, it's the cookies method:
https://rails.lighthouseapp.com/projects/8994/tickets/2733

Fred

Ah, thanks for the hint. So I'll have to update the actionpack/lib/
action_controller/base/cookies.rb file, right?

Or what is the recommended way to fix problems in the rails core? (I'm
pretty new to rails)

Regards,

Chris

I mean is there a way to patch/overwrite this using a plugin or
something? I don't want to touch the core classes, if not necessary.

You could just monkey patch it using the patch on that ticket as a
guide.

Fred

Ah, I see. Thanks!