Skip to content
Browse files

Allow a label with the value option to have value-specific translations.

  • Loading branch information...
1 parent bed6a77 commit a07cee62c7d23ec587ef961beb35ce3ac63df340 @jgarber jgarber committed Apr 27, 2011
Showing with 13 additions and 2 deletions.
  1. +2 −1 actionpack/lib/action_view/helpers/form_helper.rb
  2. +11 −1 actionpack/test/template/form_helper_test.rb
View
3 actionpack/lib/action_view/helpers/form_helper.rb
@@ -947,7 +947,8 @@ def to_label_tag(text = nil, options = {}, &block)
label_tag(name_and_id["id"], options, &block)
else
content = if text.blank?
- I18n.t("helpers.label.#{object_name}.#{method_name}", :default => "").presence
+ method_and_value = tag_value.present? ? "#{method_name}.#{tag_value}" : method_name
+ I18n.t("helpers.label.#{object_name}.#{method_and_value}", :default => "").presence
else
text.to_s
end
View
12 actionpack/test/template/form_helper_test.rb
@@ -24,7 +24,10 @@ def setup
:helpers => {
:label => {
:post => {
- :body => "Write entire text here"
+ :body => "Write entire text here",
+ :color => {
+ :red => "Rojo"
+ }
}
}
}
@@ -141,6 +144,13 @@ def test_label_with_locales_and_options
I18n.locale = old_locale
end
+ def test_label_with_locales_and_value
+ old_locale, I18n.locale = I18n.locale, :label
+ assert_dom_equal('<label for="post_color_red">Rojo</label>', label(:post, :color, :value => "red"))
+ ensure
+ I18n.locale = old_locale
+ end
+
def test_label_with_for_attribute_as_symbol
assert_dom_equal('<label for="my_for">Title</label>', label(:post, :title, nil, :for => "my_for"))
end

0 comments on commit a07cee6

Please sign in to comment.
Something went wrong with that request. Please try again.