mirror of
https://github.com/github/rails.git
synced 2026-04-26 03:00:59 -04:00
Recovers error_messages for ActiveRecordInstanceTag. [#4078 state:resolved]
Signed-off-by: wycats <wycats@gmail.com>
This commit is contained in:
committed by
wycats
parent
3172db12e4
commit
334983eca0
@@ -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
|
||||
|
||||
@@ -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|
|
||||
%(<div class=\"fieldWithErrors\">#{html_tag} <span class="error">#{[instance.error_message].join(', ')}</span></div>).html_safe
|
||||
end
|
||||
|
||||
assert_dom_equal(
|
||||
%(<div class="fieldWithErrors"><input id="post_author_name" name="post[author_name]" size="30" type="text" value="" /> <span class="error">can't be empty</span></div>),
|
||||
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(
|
||||
%(<form action="create" method="post"><p><label for="post_title">Title</label><br /><input id="post_title" name="post[title]" size="30" type="text" value="Hello World" /></p>\n<p><label for="post_body">Body</label><br /><div class="fieldWithErrors"><textarea cols="40" id="post_body" name="post[body]" rows="20">Back to the hill and over it again!</textarea></div></p><input name="commit" type="submit" value="Create" /></form>),
|
||||
|
||||
Reference in New Issue
Block a user