Метод принимает аргумент key
, поэтому вам не нужно его взламывать. Просто передайте имя своего кэша в качестве аргумента.
render_with_cache([current_user.id, request.format, request.uri].join("/")) do
# ...
end
Если вы часто вызываете метод с этим аргументом, создайте новый метод, который оборачивает предыдущий.
def render_with_cache_scoped_by_user(key = nil, options = nil, &block)
scoped_key = [current_user.id, request.format, request.uri]
scoped_key << key unless key.blank?
render_with_cache(scoped_key.join("/"), options, &block)
end