diff --git a/lib/action_controller/parameters.rb b/lib/action_controller/parameters.rb index 9dc3d7d..ec858e0 100644 --- a/lib/action_controller/parameters.rb +++ b/lib/action_controller/parameters.rb @@ -63,7 +63,7 @@ def require(key) def permit(*filters) params = self.class.new - filters.each do |filter| + filters.flatten.each do |filter| case filter when Symbol, String permitted_scalar_filter(params, filter) diff --git a/test/parameters_permit_test.rb b/test/parameters_permit_test.rb index b1905a9..7bf9606 100644 --- a/test/parameters_permit_test.rb +++ b/test/parameters_permit_test.rb @@ -104,6 +104,12 @@ def assert_filtered_out(params, key) assert_equal nil, permitted[:c] end + test 'permit parameters as an array' do + params = ActionController::Parameters.new(:foo => 'bar') + + assert_equal 'bar', params.permit([:foo])[:foo] + end + # --- key to empty array ----------------------------------------------------- test 'key to empty array: empty arrays pass' do