def cache(key, options = nil, &block)
if cache_configured?
cache_store.fetch(ActiveSupport::Cache.expand_cache_key(key, :controller), options, &block)
When you don't send an options argument, fetch method is called with nil for options.
def fetch(key, options = {})
@logger_off = true
if !options[:force] && value = read(key, options)
The fetch method set options to {} by default (it's ok), but in this case fetch was called with nil for options, so fetch try to verify if options includes :force key. But because options is nil, a "nil.[]" error is raised.
So, this patch simply set the default value for options parameter in cache method to {} instead of nil.
Like this:
def cache(key, options = {}, &block)
if cache_configured?
cache_store.fetch(ActiveSupport::Cache.expand_cache_key(key, :controller), options, &block)