Я пытаюсь написать валидатор, который обновит цену книги, только если статус продажи неактивен.
# frozen_string_literal: true
class BookPriceValidator < ActiveModel::Validator
def validate(record)
record.errors[:price] << "can't change price on book" if record.selling == "active"
end
end
Проблема, с которой я сталкиваюсь сейчас, заключается в том, что ошибка вызывается, даже если цена книги не обновляется. Как я могу вызвать эту ошибку, только если поле: price действительно изменилось?