Exception: ActionController::ParameterMissing

Inherits:
KeyError
  • Object
show all
Includes:
DidYouMean::Correctable
Defined in:
lib/action_controller/metal/strong_parameters.rb

Overview

Raised when a required parameter is missing.

params = ActionController::Parameters.new(a: {})
params.fetch(:b)
# => ActionController::ParameterMissing: param is missing or the value is empty or invalid: b
params.require(:a)
# => ActionController::ParameterMissing: param is missing or the value is empty or invalid: a
params.expect(a: [])
# => ActionController::ParameterMissing: param is missing or the value is empty or invalid: a

Direct Known Subclasses

ExpectedParameterMissing

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(param, keys = nil) ⇒ ParameterMissing

:nodoc:



29
30
31
32
33
# File 'lib/action_controller/metal/strong_parameters.rb', line 29

def initialize(param, keys = nil) # :nodoc:
  @param = param
  @keys  = keys
  super("param is missing or the value is empty or invalid: #{param}")
end

Instance Attribute Details

#keysObject (readonly)

:nodoc:



27
28
29
# File 'lib/action_controller/metal/strong_parameters.rb', line 27

def keys
  @keys
end

#paramObject (readonly)

:nodoc:



27
28
29
# File 'lib/action_controller/metal/strong_parameters.rb', line 27

def param
  @param
end

Instance Method Details

#correctionsObject

:nodoc:



38
39
40
# File 'lib/action_controller/metal/strong_parameters.rb', line 38

def corrections # :nodoc:
  @corrections ||= DidYouMean::SpellChecker.new(dictionary: keys).correct(param.to_s)
end