From 334983eca042b5016d3d79d7ed5761b60ba871ed Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Daniel=20Rodri=CC=81guez=20Troitin=CC=83o?=
Date: Mon, 15 Mar 2010 19:11:46 +0100
Subject: Recovers error_messages for ActiveRecordInstanceTag. [#4078
state:resolved]
Signed-off-by: wycats
---
actionpack/lib/action_view/helpers/active_model_helper.rb | 4 ++++
actionpack/test/template/active_model_helper_test.rb | 14 ++++++++++++++
2 files changed, 18 insertions(+)
(limited to 'actionpack')
diff --git a/actionpack/lib/action_view/helpers/active_model_helper.rb b/actionpack/lib/action_view/helpers/active_model_helper.rb
index e3db2923f7..bbe8609e91 100644
--- a/actionpack/lib/action_view/helpers/active_model_helper.rb
+++ b/actionpack/lib/action_view/helpers/active_model_helper.rb
@@ -295,6 +295,10 @@ module ActionView
end
end
+ def error_message
+ object.errors[@method_name]
+ end
+
def column_type
object.send(:column_for_attribute, @method_name).type
end
diff --git a/actionpack/test/template/active_model_helper_test.rb b/actionpack/test/template/active_model_helper_test.rb
index 371aa53c68..71c7d5b621 100644
--- a/actionpack/test/template/active_model_helper_test.rb
+++ b/actionpack/test/template/active_model_helper_test.rb
@@ -147,6 +147,20 @@ class ActiveModelHelperTest < ActionView::TestCase
)
end
+ def test_field_error_proc
+ old_proc = ActionView::Base.field_error_proc
+ ActionView::Base.field_error_proc = Proc.new do |html_tag, instance|
+ %(#{html_tag} #{[instance.error_message].join(', ')}
).html_safe
+ end
+
+ assert_dom_equal(
+ %( can't be empty
),
+ text_field("post", "author_name")
+ )
+ ensure
+ ActionView::Base.field_error_proc = old_proc if old_proc
+ end
+
def test_form_with_string
assert_dom_equal(
%(
),
--
cgit v1.2.3