Существует ли проверка активной записи, чтобы проверить, больше ли добавляемая запись или равна ли она какой-либо другой записи, уже имеющейся в базе данных? Я имею в виду что-то вроде:
class Reading < ApplicationRecord
belongs_to :register
validates :kwh, presence: true, numericality: {greater_than_or_equal_to: "any kwh in database"}
end
Если не существует такого способа сделать это таким образом, использование validates_with :
class Reading < ApplicationRecord
belongs_to :register
validates_with IncrementalValidator
end
class IncrementalValidator < ActiveModel::Validator
def validate(record)
@reading = Reading.order("created_at").last
if record < @reading
record.errors[:base] << "This recored is not incremental"
end
end
end
является моим лучший вариант?