aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRafael Mendonça França <rafaelmfranca@gmail.com>2014-12-12 17:13:53 -0200
committerRafael Mendonça França <rafaelmfranca@gmail.com>2014-12-12 17:13:53 -0200
commit4b3792562a90595b33c2ce13cb3fb51949277008 (patch)
tree8aa79a5a484e064e839f54a052b8729576c2f529
parent0d7c7025e709e611528b7fa6248210cbdf1bc296 (diff)
parent0d975e289de59f86dadcf7f1189ce875eab40b74 (diff)
downloadrails-4b3792562a90595b33c2ce13cb3fb51949277008.tar.gz
rails-4b3792562a90595b33c2ce13cb3fb51949277008.tar.bz2
rails-4b3792562a90595b33c2ce13cb3fb51949277008.zip
Merge pull request #18003 from sikachu/permit_all_parameters-thread-safety
Make AC::Params.permit_all_parameters thread safe
-rw-r--r--actionpack/lib/action_controller/metal/strong_parameters.rb11
1 files changed, 10 insertions, 1 deletions
diff --git a/actionpack/lib/action_controller/metal/strong_parameters.rb b/actionpack/lib/action_controller/metal/strong_parameters.rb
index a5ee1e2159..48ca8ac965 100644
--- a/actionpack/lib/action_controller/metal/strong_parameters.rb
+++ b/actionpack/lib/action_controller/metal/strong_parameters.rb
@@ -100,7 +100,6 @@ module ActionController
# params[:key] # => "value"
# params["key"] # => "value"
class Parameters < ActiveSupport::HashWithIndifferentAccess
- cattr_accessor :permit_all_parameters, instance_accessor: false
cattr_accessor :action_on_unpermitted_parameters, instance_accessor: false
# By default, never raise an UnpermittedParameters exception if these
@@ -123,6 +122,16 @@ module ActionController
always_permitted_parameters
end
+ # Returns the value of +permit_all_parameters+.
+ def self.permit_all_parameters
+ Thread.current[:action_controller_permit_all_parameters]
+ end
+
+ # Sets the value of +permit_all_parameters+.
+ def self.permit_all_parameters=(value)
+ Thread.current[:action_controller_permit_all_parameters] = value
+ end
+
# Returns a new instance of <tt>ActionController::Parameters</tt>.
# Also, sets the +permitted+ attribute to the default value of
# <tt>ActionController::Parameters.permit_all_parameters</tt>.