Выполнение пользовательской проверки до создания записи?
Я хочу выполнить пользовательскую проверку до создания записи?
Похоже, что это правильный метод: before_validation_on_create. Например:
before_validation_on_create :custom_validation
Но я не уверен. Любая помощь будет оценена.
Ответ 1
before_validation_on_create перехватывают до проверки на создание... но они сами не являются валидациями.
Что вы, вероятно, захотите сделать, это использовать validate и частный метод, который добавляет к массиву ошибок. например:
class IceCreamCone
validate :ensure_ice_cream_is_not_melted, :before => :create
private
def ensure_ice_cream_is_not_melted
if ice_cream.melted?
errors.add(:ice_cream, 'is melted.')
end
end
end