Обычно используются проверочные обратные вызовы, ошибки модели используются как для сбоя предполагаемого сохранения базы данных, так и для настройки контекстных сообщений об ошибках для конечного пользователя. Вариант add_to_base предназначен для общих неспецифических ошибок (т. Е. Не связан с конкретным атрибутом модели).
class MyModel < ActiveRecord::Base
validate do |my_model|
if my_model.some_attribute.blank? # For example
my_model.errors.add :my_model, "must be filled in"
end
end
end
Впоследствии * * +1004
@my_model = MyModel.create(:some_attribute => "")
завершится ошибкой, а массив @ my_model.errors.full_messages будет содержать
[ ..., "Some_attribute must be filled in", ... ]
Однако для приведенного выше примера существует сокращение: 1010 *
class MyModel < ActiveRecord::Base
validates_presence_of :some_attribute, :msg => "must be filled in"
end