aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--actionpack/lib/action_view/helpers/form_helper.rb9
1 files changed, 6 insertions, 3 deletions
diff --git a/actionpack/lib/action_view/helpers/form_helper.rb b/actionpack/lib/action_view/helpers/form_helper.rb
index 9baa9f1fff..81c9c88820 100644
--- a/actionpack/lib/action_view/helpers/form_helper.rb
+++ b/actionpack/lib/action_view/helpers/form_helper.rb
@@ -777,12 +777,15 @@ module ActionView
options["for"] ||= name_and_id["id"]
content = if text.blank?
- i18n_label = I18n.t("views.labels.#{object_name}.#{method_name}", :default => "")
- i18n_label if i18n_label.present?
+ I18n.t("views.labels.#{object_name}.#{method_name}", :default => "").presence
else
text.to_s
end
- content ||= object.class.human_attribute_name(method_name) if object
+
+ content ||= if object && object.class.respond_to?(:human_attribute_name)
+ object.class.human_attribute_name(method_name)
+ end
+
content ||= method_name.humanize
label_tag(name_and_id["id"], content, options)