Browse files

Fix ActionView label translation for more than 10 nested elements

  • Loading branch information...
1 parent d61baee commit 2cbc8c40b4c4c900bca7039998f92c7e5142e6d1 Vladimir Krylov committed Feb 24, 2014
View
6 actionview/CHANGELOG.md
@@ -1,3 +1,7 @@
+* Fix ActionView label translation for more than 10 nested elements.
+
+ *Vladimir Krylov*
+
* Added `:plain`, `:html` and `:body` option for `render` method. Please see
Action Pack's release note for more detail.
@@ -320,7 +324,7 @@
*Bryan Ricker*
-* First release, ActionView extracted from ActionPack
+* First release, ActionView extracted from ActionPack.
*Piotr Sarnacki*, *Łukasz Strzałkowski*
View
2 actionview/lib/action_view/helpers/tags/label.rb
@@ -36,7 +36,7 @@ def render(&block)
content = @template_object.capture(&block)
else
content = if @content.blank?
- @object_name.gsub!(/\[(.*)_attributes\]\[\d\]/, '.\1')
+ @object_name.gsub!(/\[(.*)_attributes\]\[\d+\]/, '.\1')
method_and_value = tag_value.present? ? "#{@method_name}.#{tag_value}" : @method_name
if object.respond_to?(:to_model)
View
14 actionview/test/template/form_helper_test.rb
@@ -2390,6 +2390,20 @@ def test_nested_fields_for_arel_like
assert_dom_equal expected, output_buffer
end
+ def test_nested_fields_label_translation_with_more_than_10_records
+ with_locale(:locale) do
+ @post.comments = Array.new(11) { |id| Comment.new(id + 1) }
+
+ I18n.expects(:t).with('post.comments.body', default: [:"comment.body", ''], scope: "helpers.label").times(11).returns "Write body here"
+
+ form_for(@post) do |f|
+ f.fields_for(:comments) do |cf|
+ concat cf.label(:body)
+ end
+ end
+ end
+ end
+
def test_nested_fields_for_with_existing_records_on_a_supplied_nested_attributes_collection_different_from_record_one
comments = Array.new(2) { |id| Comment.new(id + 1) }
@post.comments = []

0 comments on commit 2cbc8c4

Please sign in to comment.