{"record":{"id":"31f938020dd8cf9b","repo":"thoughtbot/shoulda-matchers","slug":"you-must-specify-an-http-verb-when-using-a-non-res","errorCode":null,"errorMessage":"You must specify an HTTP verb when using a non-RESTful action. For example: for(:authorize, verb: :post)","messagePattern":"You must specify an HTTP verb when using a non-RESTful action\\. For example: for\\(:authorize, verb: :post\\)","errorType":"exception","errorClass":"VerbNotDefinedError","httpStatus":null,"severity":"error","filePath":"lib/shoulda/matchers/action_controller/permit_matcher.rb","lineNumber":325,"sourceCode":"                { for: subparameter_name }\n              else\n                {}\n              end\n            parameters_double_registry.permitted_parameter_names(options)\n          end\n        end\n\n        def unpermitted_parameter_names\n          expected_permitted_parameter_names - actual_permitted_parameter_names\n        end\n\n        def ensure_action_and_verb_present!\n          if action.blank?\n            raise ActionNotDefinedError\n          end\n\n          if verb.blank?\n            raise VerbNotDefinedError\n          end\n        end\n\n        def default_verb\n          case action\n          when :create then :post\n          when :update then RailsShim.verb_for_update\n          end\n        end\n\n        def parameter_names_as_sentence\n          expected_permitted_parameter_names.map(&:inspect).to_sentence\n        end\n\n        # @private\n        class CompositeParametersDoubleRegistry\n          def initialize\n            @parameters_double_registries = []","sourceCodeStart":307,"sourceCodeEnd":343,"githubUrl":"https://github.com/thoughtbot/shoulda-matchers/blob/79cdfbc326e97c9b43991b644434ca53c1f62c4c/lib/shoulda/matchers/action_controller/permit_matcher.rb#L307-L343","documentation":"Error \"You must specify an HTTP verb when using a non-RESTful action. For example: for(:authorize, verb: :post)\" thrown in thoughtbot/shoulda-matchers.","triggerScenarios":"Thrown at lib/shoulda/matchers/action_controller/permit_matcher.rb:325 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":"79cdfbc326e97c9b43991b644434ca53c1f62c4c","analyzedAt":"2026-08-23T09:43:24.200Z","schemaVersion":2},"datasetVersion":"2026-08-23T13:39:53.451Z"}