{"record":{"id":"202e40111c68129d","repo":"CanineHQ/canine","slug":"invalid-favoriteable-type","errorCode":null,"errorMessage":"Invalid favoriteable type","messagePattern":"Invalid favoriteable type","errorType":"validation","errorClass":"ActionController::BadRequest","httpStatus":400,"severity":"error","filePath":"app/controllers/favorites_controller.rb","lineNumber":42,"sourceCode":"            partial: \"layouts/sidebars/dynamic\",\n            locals: { open_section: @favoriteable.class.name.pluralize.underscore },\n          )\n        ]\n      end\n      format.json do\n        render json: {\n          action: result.action_taken,\n          favorited: result.action_taken == :added\n        }\n      end\n    end\n  end\n\n  private\n\n  def find_favoriteable\n    unless %w[Project Cluster AddOn].include?(params[:favoriteable_type])\n      raise ActionController::BadRequest, \"Invalid favoriteable type\"\n    end\n\n    klass = params[:favoriteable_type].constantize\n    klass.find(params[:favoriteable_id])\n  end\nend\n","sourceCodeStart":24,"sourceCodeEnd":49,"githubUrl":"https://github.com/CanineHQ/canine/blob/ba4ee3968d8513ee27d8583fbd3e854a8dd053f3/app/controllers/favorites_controller.rb#L24-L49","documentation":"Error \"Invalid favoriteable type\" thrown in CanineHQ/canine.","triggerScenarios":"Thrown at app/controllers/favorites_controller.rb:42 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":"ba4ee3968d8513ee27d8583fbd3e854a8dd053f3","analyzedAt":"2026-08-23T17:49:27.834Z","schemaVersion":2},"datasetVersion":"2026-08-23T21:17:23.414Z"}