From a813fa09a86ec522b43f16d137bd99e0a43985f5 Mon Sep 17 00:00:00 2001
From: Karol Galanciak <karol.galanciak@gmail.com>
Date: Sun, 5 Apr 2015 21:51:19 +0200
Subject: Accept lambda as child_index option in #fields_for method

---
 actionview/test/template/form_helper_test.rb | 17 +++++++++++++++++
 1 file changed, 17 insertions(+)

(limited to 'actionview/test')

diff --git a/actionview/test/template/form_helper_test.rb b/actionview/test/template/form_helper_test.rb
index 4e336bea63..5c55b154d3 100644
--- a/actionview/test/template/form_helper_test.rb
+++ b/actionview/test/template/form_helper_test.rb
@@ -2878,6 +2878,23 @@ class FormHelperTest < ActionView::TestCase
     assert_dom_equal expected, output_buffer
   end
 
+  def test_nested_fields_for_with_child_index_as_lambda_option_override_on_a_nested_attributes_collection_association
+    @post.comments = []
+
+    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
+
   class FakeAssociationProxy
     def to_ary
       [1, 2, 3]
-- 
cgit v1.2.3