diff options
author | Jon Leighton <j@jonathanleighton.com> | 2013-01-11 03:08:41 -0800 |
---|---|---|
committer | Jon Leighton <j@jonathanleighton.com> | 2013-01-11 03:08:41 -0800 |
commit | 94797ed146ba02f627a365293e46b6e8c42a4fd7 (patch) | |
tree | bd2694f809a00fb947abea49e9fc8955446e41f8 /actionpack/test/template | |
parent | 15b7482dfcf4285f6a0278671dcb67f2c6b0132d (diff) | |
parent | c009e86fe12cb04e4359ce5ec063364561a6252c (diff) | |
download | rails-94797ed146ba02f627a365293e46b6e8c42a4fd7.tar.gz rails-94797ed146ba02f627a365293e46b6e8c42a4fd7.tar.bz2 rails-94797ed146ba02f627a365293e46b6e8c42a4fd7.zip |
Merge pull request #8623 from virusman/form_helpers_collectionproxy_fix
Fixed nested fields bug when called with AssociationProxy
Diffstat (limited to 'actionpack/test/template')
-rw-r--r-- | actionpack/test/template/form_helper_test.rb | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/actionpack/test/template/form_helper_test.rb b/actionpack/test/template/form_helper_test.rb index 5e47e4db23..247068de4e 100644 --- a/actionpack/test/template/form_helper_test.rb +++ b/actionpack/test/template/form_helper_test.rb @@ -2163,6 +2163,29 @@ class FormHelperTest < ActionView::TestCase assert_dom_equal expected, output_buffer end + class FakeAssociatonProxy + def to_ary + [1, 2, 3] + end + end + + def test_nested_fields_for_with_child_index_option_override_on_a_nested_attributes_collection_association_with_proxy + @post.comments = FakeAssociatonProxy.new + + form_for(@post) do |f| + concat f.fields_for(:comments, Comment.new(321), :child_index => 'abc') { |cf| + concat cf.text_field(:name) + } + end + + expected = whole_form('/posts/123', 'edit_post_123', 'edit_post', :method => 'patch') do + '<input id="post_comments_attributes_abc_name" name="post[comments_attributes][abc][name]" type="text" value="comment #321" />' + + '<input id="post_comments_attributes_abc_id" name="post[comments_attributes][abc][id]" type="hidden" value="321" />' + end + + assert_dom_equal expected, output_buffer + end + def test_nested_fields_for_index_method_with_existing_records_on_a_nested_attributes_collection_association @post.comments = Array.new(2) { |id| Comment.new(id + 1) } |