aboutsummaryrefslogtreecommitdiffstats
path: root/actionpack/lib/action_controller
diff options
context:
space:
mode:
authorVijay Dev <vijaydev.cse@gmail.com>2012-11-03 01:16:57 +0530
committerVijay Dev <vijaydev.cse@gmail.com>2012-11-03 01:16:57 +0530
commit8ffb0dacf98ce616dd8b1a9513d69983251a69de (patch)
treefab2953fc59aa589aa892d6ff1ab6882897f0dff /actionpack/lib/action_controller
parent2c4faaaedd36fd7c55bef516c71d3dd5f46a6164 (diff)
downloadrails-8ffb0dacf98ce616dd8b1a9513d69983251a69de.tar.gz
rails-8ffb0dacf98ce616dd8b1a9513d69983251a69de.tar.bz2
rails-8ffb0dacf98ce616dd8b1a9513d69983251a69de.zip
Revert "dont encourage AC::Parameters#permit_all_parameters usage [ci skip]"
This reverts commit cd17ee5598411728747011566abf6779166be9d3. Reason: Let's note that this is discouraged, not remove the docs [ci skip]
Diffstat (limited to 'actionpack/lib/action_controller')
-rw-r--r--actionpack/lib/action_controller/metal/strong_parameters.rb22
1 files changed, 21 insertions, 1 deletions
diff --git a/actionpack/lib/action_controller/metal/strong_parameters.rb b/actionpack/lib/action_controller/metal/strong_parameters.rb
index f60d2a0a50..73f2e94cd1 100644
--- a/actionpack/lib/action_controller/metal/strong_parameters.rb
+++ b/actionpack/lib/action_controller/metal/strong_parameters.rb
@@ -43,6 +43,19 @@ module ActionController
# Person.first.update_attributes!(permitted)
# # => #<Person id: 1, name: "Francesco", age: 22, role: "user">
#
+ # It provides a +permit_all_parameters+ option that controls the top-level
+ # behaviour of new instances. If it's +true+, all the parameters will be
+ # permitted by default. The default value for +permit_all_parameters+
+ # option is +false+.
+ #
+ # params = ActionController::Parameters.new
+ # params.permitted? # => false
+ #
+ # ActionController::Parameters.permit_all_parameters = true
+ #
+ # params = ActionController::Parameters.new
+ # params.permitted? # => true
+ #
# <tt>ActionController::Parameters</tt> is inherited from
# <tt>ActiveSupport::HashWithIndifferentAccess</tt>, this means
# that you can fetch values using either <tt>:key</tt> or <tt>"key"</tt>.
@@ -55,7 +68,8 @@ module ActionController
attr_accessor :permitted # :nodoc:
# Returns a new instance of <tt>ActionController::Parameters</tt>.
- # Also, sets the +permitted+ attribute to +false+.
+ # Also, sets the +permitted+ attribute to the default value of
+ # <tt>ActionController::Parameters.permit_all_parameters</tt>.
#
# class Person
# include ActiveRecord::Base
@@ -64,6 +78,12 @@ module ActionController
# params = ActionController::Parameters.new(name: 'Francesco')
# params.permitted? # => false
# Person.new(params) # => ActiveModel::ForbiddenAttributesError
+ #
+ # ActionController::Parameters.permit_all_parameters = true
+ #
+ # params = ActionController::Parameters.new(name: 'Francesco')
+ # params.permitted? # => true
+ # Person.new(params) # => #<Person id: nil, name: "Francesco">
def initialize(attributes = nil)
super(attributes)
@permitted = self.class.permit_all_parameters