У меня есть несколько проверок, которые проверяют Quote
объект. После проверки у меня есть before_save
обратный вызов, который вызывает API и захватывает больше данных, делает несколько математических вычислений и затем сохраняет недавно вычисленные данные в базе данных.
Я не хочу полностью доверять ответу API, поэтому мне нужно проверить данные, которые я вычисляю.
Обратите внимание, что вызов API в обратном вызове before_save
зависит от предыдущих проверок.
Например:
validates :subtotal, numericality: { greater_than_or_equal_to: 0 }
before_save :call_api_and_compute_tax
before_save :compute_grand_total
#I want to validate the tax and grand total numbers here to make sure something strange wasn't returned from the API.
Мне нужно иметь возможность выдать ошибку проверки, если это возможно, с чем-то вроде:
errors.add :base, "Tax didn't calculate correctly."
Как я могу проверить значения, которые были вычисляется в моих before_save
обратных вызовов?