class ActionController::Parameters

def require(key)

# => ActionController::ParameterMissing: param not found: person
ActionController::Parameters.new(person: {}).require(:person)

# => ActionController::ParameterMissing: param not found: person
ActionController::Parameters.new(person: nil).require(:person)

# => {"name"=>"Francesco"}
ActionController::Parameters.new(person: { name: 'Francesco' }).require(:person)

ActionController::ParameterMissing error.
the parameter at the given +key+, otherwise raises an
Ensures that a parameter is present. If it's present, returns
def require(key)
  value = self[key]
  if value.present? || value == false
    value
  else
    raise ParameterMissing.new(key)
  end
end