Cache block skipped over

I’m running my local server in production mode and a fragment cache on
the front page fails to render at all. I route the front page to the
about controller:

map.index ‘’, :controller =>
“about”, :action => ‘front_page’

And the action looks like:

def front_page
unless read_fragment(:part => ‘time’)
@time = Time.now
end
end

Finally, app/views/about/front_page.rhtml has at the top:

before
<%- cache(:part => “time”) do -%>
in the fragment
<%= debug @time %>
<%- end -%>
after

No cached fragment appears in tmp/cache/localhost:3000/ and when I
load the page (yes, I remembered to stop and start the server) I see
“before after” without “in the fragment” at all. I’m at a loss – the
cache block is just silently failing to produce anything, and there’s
nothing in the logs. I’ve got caches working on other actions, so I
know it’s not all of caching that’s broken.

Any ideas what could be causing this?