Permalink
Browse files

Make error_message_on handle nil objects. [dan]

git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@5799 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
  • Loading branch information...
1 parent 3b4450b commit 810d0ade2bb04464fbbd5497b4cc092ed80fc53a @NZKoz NZKoz committed Dec 27, 2006
@@ -85,8 +85,10 @@ def form(record_name, options = {})
# <%= error_message_on "post", "title", "Title simply ", " (or it won't work)", "inputError" %> =>
# <div class="inputError">Title simply can't be empty (or it won't work)</div>
def error_message_on(object, method, prepend_text = "", append_text = "", css_class = "formError")
- if errors = instance_variable_get("@#{object}").errors.on(method)
+ if object = instance_variable_get("@#{object}") && errors = object.errors.on(method)
content_tag("div", "#{prepend_text}#{errors.is_a?(Array) ? errors.first : errors}#{append_text}", :class => css_class)
+ else
+ ''
end
end
@@ -170,6 +170,10 @@ def test_error_for_block
def test_error_messages_for_handles_nil
assert_equal "", error_messages_for("notthere")
end
+
+ def test_error_message_on_handles_nil
+ assert_equal "", error_message_on("notthere", "notthere")
+ end
def test_error_messages_for_many_objects
assert_dom_equal %(<div class="errorExplanation" id="errorExplanation"><h2>2 errors prohibited this post from being saved</h2><p>There were problems with the following fields:</p><ul><li>Author name can't be empty</li><li>User email can't be empty</li></ul></div>), error_messages_for("post", "user")

0 comments on commit 810d0ad

Please sign in to comment.