diff options
author | Rafael Mendonça França <rafaelmfranca@gmail.com> | 2015-05-04 09:51:10 -0300 |
---|---|---|
committer | Rafael Mendonça França <rafaelmfranca@gmail.com> | 2015-05-04 09:51:10 -0300 |
commit | bccbaefd7f4fbbbc1e0008cbd8bc4108da9e8fdc (patch) | |
tree | 97cca371a85c16c49ac130f97a941fac94413d96 | |
parent | a8aa8b7fc37784b36a41834af0272907bb07eeb8 (diff) | |
parent | 6f418a09d82351ae74409379f80012f717aa9cb0 (diff) | |
download | rails-bccbaefd7f4fbbbc1e0008cbd8bc4108da9e8fdc.tar.gz rails-bccbaefd7f4fbbbc1e0008cbd8bc4108da9e8fdc.tar.bz2 rails-bccbaefd7f4fbbbc1e0008cbd8bc4108da9e8fdc.zip |
Merge pull request #20007 from zamith/validation-custom-messages
Adds/Corrects use case for adding an error message
-rw-r--r-- | activemodel/lib/active_model/errors.rb | 2 | ||||
-rw-r--r-- | activemodel/test/cases/errors_test.rb | 6 |
2 files changed, 7 insertions, 1 deletions
diff --git a/activemodel/lib/active_model/errors.rb b/activemodel/lib/active_model/errors.rb index f843b279ce..287a2559d2 100644 --- a/activemodel/lib/active_model/errors.rb +++ b/activemodel/lib/active_model/errors.rb @@ -452,7 +452,6 @@ module ActiveModel defaults = [] end - defaults << options.delete(:message) defaults << :"#{@base.class.i18n_scope}.errors.messages.#{type}" if @base.class.respond_to?(:i18n_scope) defaults << :"errors.attributes.#{attribute}.#{type}" defaults << :"errors.messages.#{type}" @@ -461,6 +460,7 @@ module ActiveModel defaults.flatten! key = defaults.shift + defaults = options.delete(:message) if options[:message] value = (attribute != :base ? @base.send(:read_attribute_for_validation, attribute) : nil) options = { diff --git a/activemodel/test/cases/errors_test.rb b/activemodel/test/cases/errors_test.rb index f781a0017f..d10c20caad 100644 --- a/activemodel/test/cases/errors_test.rb +++ b/activemodel/test/cases/errors_test.rb @@ -149,6 +149,12 @@ class ErrorsTest < ActiveModel::TestCase assert_equal ["cannot be blank"], person.errors[:name] end + test "add an error message on a specific attribute with a defined type" do + person = Person.new + person.errors.add(:name, :blank, message: "cannot be blank") + assert_equal ["cannot be blank"], person.errors[:name] + end + test "add an error with a symbol" do person = Person.new person.errors.add(:name, :blank) |