aboutsummaryrefslogtreecommitdiffstats
path: root/actionpack/lib
diff options
context:
space:
mode:
authorJosé Valim <jose.valim@gmail.com>2011-11-17 00:02:49 -0800
committerJosé Valim <jose.valim@gmail.com>2011-11-17 00:02:49 -0800
commite2d3060a68fcd680ca37a625cfc097131947edb6 (patch)
treeadc24113af32bc8df3c3d60acb551a1180db8f96 /actionpack/lib
parente6f3299158fd2b3d34c2fe4ee98097b516d678c0 (diff)
parentc2b6f63bbe2740fd63a36eeefe17d51813a17324 (diff)
downloadrails-e2d3060a68fcd680ca37a625cfc097131947edb6.tar.gz
rails-e2d3060a68fcd680ca37a625cfc097131947edb6.tar.bz2
rails-e2d3060a68fcd680ca37a625cfc097131947edb6.zip
Merge pull request #3654 from wildchild/label_i18n
Fix impractical I18n lookup in nested fields_for
Diffstat (limited to 'actionpack/lib')
-rw-r--r--actionpack/lib/action_view/helpers/form_helper.rb10
1 files changed, 9 insertions, 1 deletions
diff --git a/actionpack/lib/action_view/helpers/form_helper.rb b/actionpack/lib/action_view/helpers/form_helper.rb
index f148ffbd73..d687866d0d 100644
--- a/actionpack/lib/action_view/helpers/form_helper.rb
+++ b/actionpack/lib/action_view/helpers/form_helper.rb
@@ -995,8 +995,16 @@ module ActionView
label_tag(name_and_id["id"], options, &block)
else
content = if text.blank?
+ object_name.gsub!(/\[(.*)_attributes\]\[\d\]/, '.\1')
method_and_value = tag_value.present? ? "#{method_name}.#{tag_value}" : method_name
- I18n.t("helpers.label.#{object_name}.#{method_and_value}", :default => "").presence
+
+ if object.respond_to?(:to_model)
+ key = object.class.model_name.i18n_key
+ i18n_default = ["#{key}.#{method_and_value}".to_sym, ""]
+ end
+
+ i18n_default ||= ""
+ I18n.t("#{object_name}.#{method_and_value}", :default => i18n_default, :scope => "helpers.label").presence
else
text.to_s
end