From 91bcebbdef0e31d38622785a064d023272f712db Mon Sep 17 00:00:00 2001 From: Guillermo Iguaran Date: Sat, 1 Sep 2012 02:30:07 -0500 Subject: Support fields_for attributes, which may have numeric symbols as hash keys --- .../controller/parameters/nested_parameters_test.rb | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) (limited to 'actionpack/test/controller') diff --git a/actionpack/test/controller/parameters/nested_parameters_test.rb b/actionpack/test/controller/parameters/nested_parameters_test.rb index 16e8d2e528..ea67126cc5 100644 --- a/actionpack/test/controller/parameters/nested_parameters_test.rb +++ b/actionpack/test/controller/parameters/nested_parameters_test.rb @@ -92,4 +92,22 @@ class NestedParametersTest < ActiveSupport::TestCase permitted = params.permit book: { genre: :type } assert_nil permitted[:book][:genre] end + + test "fields_for-style nested params" do + params = ActionController::Parameters.new({ + book: { + authors_attributes: { + :'0' => { name: 'William Shakespeare', age_of_death: '52' }, + :'-1' => { name: 'Unattributed Assistant' } + } + } + }) + permitted = params.permit book: { authors_attributes: [ :name ] } + + assert_not_nil permitted[:book][:authors_attributes]['0'] + assert_not_nil permitted[:book][:authors_attributes]['-1'] + assert_nil permitted[:book][:authors_attributes]['0'][:age_of_death] + assert_equal 'William Shakespeare', permitted[:book][:authors_attributes]['0'][:name] + assert_equal 'Unattributed Assistant', permitted[:book][:authors_attributes]['-1'][:name] + end end -- cgit v1.2.3