class ActionController::Parameters

def dup

copy_params.permitted? # => true
copy_params = params.dup # => {"a"=>1}
params.permitted? # => true
params.permit!
params = ActionController::Parameters.new(a: 1)

instance. +permitted+ state is kept on the duped object.
Returns an exact copy of the ActionController::Parameters
def dup
  super.tap do |duplicate|
    duplicate.permitted = @permitted
  end
end