Я хочу иметь возможность заменить ошибку поля предупреждением при сохранении / обновлении модели в рельсах.По сути, я хочу просто написать обертку вокруг методов проверки, которые сгенерируют ошибку, сохранят модель и, возможно, будут доступны в хеше предупреждений (который работает так же, как хеш ошибок):
class Person < ActiveRecord::Base
# normal validation
validates_presence_of :name
# validation with warning
validates_numericality_of :age,
:only_integer => true,
:warning => true # <-- only warn
end
>>> p = Person.new(:name => 'john', :age => 2.2)
>>> p.save
=> true # <-- able to save to db
>>> p.warnings.map { |field, message| "#{field} - #{message}" }
["age - is not a number"] # <-- have access to warning content
ЛюбойИдея, как я мог бы реализовать это?Я смог добавить :warning => false
значение по умолчанию к ActiveRecord::Validations::ClassMethods::DEFAULT_VALIDATION_OPTIONS
, расширив модуль, но я ищу некоторое понимание того, как реализовать остальное.Спасибо.