diff options
author | Takehiro Adachi <takehiro0740@gmail.com> | 2013-08-03 23:05:11 +0900 |
---|---|---|
committer | Takehiro Adachi <takehiro0740@gmail.com> | 2013-08-04 18:37:12 +0900 |
commit | 740f7787e0b2db6bc476e85774f7a7044e1f983a (patch) | |
tree | 9953ad8f376b8f8a1bbffc73cfb7ea05f2722d63 /guides | |
parent | b67a80de9b55f91feb1c1056824f456710a96d0d (diff) | |
download | rails-740f7787e0b2db6bc476e85774f7a7044e1f983a.tar.gz rails-740f7787e0b2db6bc476e85774f7a7044e1f983a.tar.bz2 rails-740f7787e0b2db6bc476e85774f7a7044e1f983a.zip |
Fix active_record_validations.md document, `:save` for `on:` validation helper was never available
According to the guide, ":save" value for the "on:" validation helper
was available like below
validates :name, presence: true, on: :save
but this was never available according to the implementation of the
valid? method, which is below
# Runs all the validations within the specified context. Returns
+true+ if
# no errors are found, +false+ otherwise.
#
# If the argument is +false+ (default is +nil+), the context is set
to <tt>:create</tt> if
# <tt>new_record?</tt> is +true+, and to <tt>:update</tt> if it is
not.
#
# Validations with no <tt>:on</tt> option will run no matter the
context. Validations with
# some <tt>:on</tt> option will only run in the specified context.
def valid?(context = nil)
context ||= (new_record? ? :create : :update)
output = super(context)
errors.empty? && output
end
So the documentation was always wrong since the PR proposed by
@neerajdotname ( #10287 ) was rejected.
Diffstat (limited to 'guides')
-rw-r--r-- | guides/source/active_record_validations.md | 5 |
1 files changed, 2 insertions, 3 deletions
diff --git a/guides/source/active_record_validations.md b/guides/source/active_record_validations.md index d95b587e78..8154d4e1cc 100644 --- a/guides/source/active_record_validations.md +++ b/guides/source/active_record_validations.md @@ -243,7 +243,7 @@ line of code you can add the same kind of validation to several attributes. All of them accept the `:on` and `:message` options, which define when the validation should be run and what message should be added to the `errors` collection if it fails, respectively. The `:on` option takes one of the values -`:save` (the default), `:create` or `:update`. There is a default error +`:create` or `:update`. There is a default error message for each one of the validation helpers. These messages are used when the `:message` option isn't specified. Let's take a look at each one of the available helpers. @@ -765,10 +765,9 @@ class Person < ActiveRecord::Base validates :age, numericality: true, on: :update # the default (validates on both create and update) - validates :name, presence: true, on: :save + validates :name, presence: true end ``` -The last line is in review state and as of now, it is not running in any version of Rails 3.2.x as discussed in this [issue](https://github.com/rails/rails/issues/10248) Strict Validations ------------------ |