aboutsummaryrefslogtreecommitdiffstats
path: root/activemodel/lib/active_model/validations/callbacks.rb
diff options
context:
space:
mode:
authorAditya Sanghi <asanghi@me.com>2011-04-29 02:54:37 +0530
committerAditya Sanghi <asanghi@me.com>2011-04-29 02:54:37 +0530
commitbf5cf5db86fa0aeb818d32541a35310de992f426 (patch)
treeb5a1f7f1fb2cbc660b924faa8272a6fb4a06a5a7 /activemodel/lib/active_model/validations/callbacks.rb
parente59491355e921c2275980fba5a85dfc8b5ed25f7 (diff)
downloadrails-bf5cf5db86fa0aeb818d32541a35310de992f426.tar.gz
rails-bf5cf5db86fa0aeb818d32541a35310de992f426.tar.bz2
rails-bf5cf5db86fa0aeb818d32541a35310de992f426.zip
:if should not fire on validations when not in context with :on
Diffstat (limited to 'activemodel/lib/active_model/validations/callbacks.rb')
-rw-r--r--activemodel/lib/active_model/validations/callbacks.rb4
1 files changed, 2 insertions, 2 deletions
diff --git a/activemodel/lib/active_model/validations/callbacks.rb b/activemodel/lib/active_model/validations/callbacks.rb
index adc2867ad0..f187d6f378 100644
--- a/activemodel/lib/active_model/validations/callbacks.rb
+++ b/activemodel/lib/active_model/validations/callbacks.rb
@@ -31,7 +31,7 @@ module ActiveModel
options = args.last
if options.is_a?(Hash) && options[:on]
options[:if] = Array.wrap(options[:if])
- options[:if] << "self.validation_context == :#{options[:on]}"
+ options[:if].unshift("self.validation_context == :#{options[:on]}")
end
set_callback(:validation, :before, *args, &block)
end
@@ -41,7 +41,7 @@ module ActiveModel
options[:prepend] = true
options[:if] = Array.wrap(options[:if])
options[:if] << "!halted"
- options[:if] << "self.validation_context == :#{options[:on]}" if options[:on]
+ options[:if].unsfhit("self.validation_context == :#{options[:on]}") if options[:on]
set_callback(:validation, :after, *(args << options), &block)
end
end