У меня есть несколько обратных вызовов before_validation, которые работают с атрибутами, установленными в моей модели. Я сталкиваюсь с неприятностями, когда у меня такая ситуация:
class Foo < ActiveRecord::Base
before_validation :capitalize_title
validates :title, :presence => true
def capitalize_title
title.upcase
end
end
Я пишу тест, чтобы убедиться, что заголовок 'nil' не разрешен, но тест выдает ошибку, потому что nil.upcase не определен. Я хотел бы обработать эту ошибку, но у меня уже есть обработка ошибок, которая выполняется после обратных вызовов before_validation.
Я не хочу проверять все мои обратные вызовы before_validation, чтобы убедиться, что данные существуют, если я могу их избежать.
Есть ли чистый или общепринятый способ справиться с такой ситуацией?