From 6d4aef984c0cd74ebd92b8d18a8e68f371fbb944 Mon Sep 17 00:00:00 2001 From: Prem Sichanugrist Date: Mon, 14 Dec 2015 09:52:52 -0500 Subject: Make Parameters#to_h and #to_unsafe_h return HWIA This makes these two methods to be more inline with the previous behavior of Parameters as Parameters used to be inherited from HWIA. Fixes #21391 --- actionpack/lib/action_controller/metal/strong_parameters.rb | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) (limited to 'actionpack/lib/action_controller') diff --git a/actionpack/lib/action_controller/metal/strong_parameters.rb b/actionpack/lib/action_controller/metal/strong_parameters.rb index 8af94551cf..8bc3c271e2 100644 --- a/actionpack/lib/action_controller/metal/strong_parameters.rb +++ b/actionpack/lib/action_controller/metal/strong_parameters.rb @@ -162,8 +162,8 @@ module ActionController end end - # Returns a safe +Hash+ representation of this parameter with all - # unpermitted keys removed. + # Returns a safe ActiveSupport::HashWithIndifferentAccess + # representation of this parameter with all unpermitted keys removed. # # params = ActionController::Parameters.new({ # name: 'Senjougahara Hitagi', @@ -175,15 +175,17 @@ module ActionController # safe_params.to_h # => {"name"=>"Senjougahara Hitagi"} def to_h if permitted? - @parameters.to_h + @parameters.deep_dup else slice(*self.class.always_permitted_parameters).permit!.to_h end end - # Returns an unsafe, unfiltered +Hash+ representation of this parameter. + # Returns an unsafe, unfiltered + # ActiveSupport::HashWithIndifferentAccess representation of this + # parameter. def to_unsafe_h - @parameters.to_h + @parameters.deep_dup end alias_method :to_unsafe_hash, :to_unsafe_h -- cgit v1.2.3