asset_host with HTTPS problem, or possibly layout being cached?

I'm having some trouble with either the asset_host feature or possible something to do with layout caching.

I have this in my environment/production.rb:

ActionController::Base.asset_host = Proc.new do |source, request|   if request.ssl?     "https://#{request.host_with_port}"   else     "http://asset#\{source.hash % 4}.mydominname.com"   end end

When I visit a page using HTTPS, some assets are pointing to a HTTPS url, and others to a HTTP url. It turns out the contents of the layout produces the HTTP urls, and the page action produces the HTTPS urls.

Perhaps the layout is being cached?? I need all assets pointing to HTTPS urls when the page is requested using HTTPS, and likewise, I need all assets pointing to HTTP urls when the page is requested using HTTP.

Any thoughts as to why this is happening?