{"record":{"id":"c650acb92e07b57c","repo":"padrino/padrino-framework","slug":"can-not-provide-both-cache-key-and-a-block","errorCode":null,"errorMessage":"Can not provide both cache_key and a block","messagePattern":"Can not provide both cache_key and a block","errorType":"validation","errorClass":null,"httpStatus":null,"severity":"error","filePath":"padrino-cache/lib/padrino-cache/helpers/page.rb","lineNumber":91,"sourceCode":"        #\n        # @example\n        #   controller '/blog', cache: true do\n        #\n        #     get '/post/:id' do\n        #       cache_key :my_name\n        #       @post = Post.find(params[:id])\n        #     end\n        #   end\n        #\n        # @example\n        #     get '/foo', cache: true do\n        #       cache_key { param[:id] }\n        #       \"My id is #{param[:id}\"\n        #     end\n        #   end\n        #\n        def cache_key(name = nil, &block)\n          raise 'Can not provide both cache_key and a block' if name && block\n          @route.cache_key = name || block\n        end\n\n        CACHED_VERBS = { 'GET' => true, 'HEAD' => true }.freeze\n\n        def self.padrino_route_added(route, verb, *)\n          return unless route.cache && CACHED_VERBS[verb]\n\n          route.before_filters do\n            next unless settings.caching?\n            if (cached_response = load_cached_response)\n              content_type cached_response[:content_type]\n              halt 200, cached_response[:body]\n            end\n          end\n\n          route.after_filters do\n            save_cached_response(route.cache_expires) if settings.caching?","sourceCodeStart":73,"sourceCodeEnd":109,"githubUrl":"https://github.com/padrino/padrino-framework/blob/167044f3d56b2bce12f943eb826fdb0b0ea94375/padrino-cache/lib/padrino-cache/helpers/page.rb#L73-L109","documentation":"Error \"Can not provide both cache_key and a block\" thrown in padrino/padrino-framework.","triggerScenarios":"Thrown at padrino-cache/lib/padrino-cache/helpers/page.rb:91 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":[],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"167044f3d56b2bce12f943eb826fdb0b0ea94375","analyzedAt":"2026-08-23T12:41:41.049Z","schemaVersion":2},"datasetVersion":"2026-08-23T16:17:53.355Z"}