When infer_extension is not set ActionCachePath does not set the extension from any explicitly specified format, and hence expiry produces cache keys which don't have any extension and don't match the keys generated when the cache entry was created.
19 lines
535 B
Ruby
19 lines
535 B
Ruby
module ActionController
|
|
module Caching
|
|
module Actions
|
|
class ActionCachePath
|
|
def initialize(controller, options = {}, infer_extension = true)
|
|
if infer_extension
|
|
@extension = controller.params[:format]
|
|
options.reverse_merge!(:format => @extension) if options.is_a?(Hash)
|
|
else
|
|
@extension = options[:format]
|
|
end
|
|
|
|
path = controller.url_for(options).split(%r{://}).last
|
|
@path = normalize!(path)
|
|
end
|
|
end
|
|
end
|
|
end
|
|
end
|