Method: ActionController::Parameters#permit!

Defined in:
actionpack/lib/action_controller/metal/strong_parameters.rb

#permit!Object

Sets the ‘permitted` attribute to `true`. This can be used to pass mass assignment. Returns `self`.

class Person < ActiveRecord::Base
end

params = ActionController::Parameters.new(name: "Francesco")
params.permitted?  # => false
Person.new(params) # => ActiveModel::ForbiddenAttributesError
params.permit!
params.permitted?  # => true
Person.new(params) # => #<Person id: nil, name: "Francesco">


461
462
463
464
465
466
467
468
469
470
# File 'actionpack/lib/action_controller/metal/strong_parameters.rb', line 461

def permit!
  each_pair do |key, value|
    Array.wrap(value).flatten.each do |v|
      v.permit! if v.respond_to? :permit!
    end
  end

  @permitted = true
  self
end