Spec-Zone.ru › Ruby on Rails 4.1

модуль ActiveRecord::Validations

Включенные модули:
ActiveModel::Validations

Active Record Валидации

Active Record включает большинство своих валидаций из ActiveModel::Validations, все из которых принимают аргумент :on для определения контекста, в котором активны валидации. Active Record всегда предоставляет контекст :create или :update в зависимости от того, является ли модель new_record?.

Открытые методы экземпляра

save(options={}) Показать исходный код

Процесс валидации при сохранении можно пропустить, передав validate: false. Регулярный метод #save заменяется этим методом, когда модуль валидации включен, что происходит по умолчанию.

Вызывает метод суперкласса
# File activerecord/lib/active_record/validations.rb, line 50
def save(options={})
  perform_validations(options) ? super : false
end
save!(options={}) Показать исходный код

Попытка сохранить запись так же, как и #save, но при этом будет поднято исключение RecordInvalid вместо возвращения false если запись не валидна.

Вызывает метод суперкласса
# File activerecord/lib/active_record/validations.rb, line 56
def save!(options={})
  perform_validations(options) ? super : raise(RecordInvalid.new(self))
end
valid?(context = nil) Показать исходный код

Выполняет все валидации в указанном контексте. Возвращает true если ошибок нет, false в противном случае.

Если аргумент равен false (по умолчанию nil), контекст устанавливается в :create если new_record? равно true, и в :update если нет.

Валидации Валидации без опции :on будут выполняться независимо от контекста. Валидации Валидации с опцией :on будут выполняться только в указанном контексте.

Вызывает метод суперкласса ActiveModel::Validations#valid?
# File activerecord/lib/active_record/validations.rb, line 68
def valid?(context = nil)
  context ||= (new_record? ? :create : :update)
  output = super(context)
  errors.empty? && output
end

© 2004–2016 David Heinemeier Hansson
Licensed under the MIT License.

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API