是否可以仅在 car.created_at > 6.months.ago 的情况下使用 validates_uniqueness_of 汽车?
就我而言,
validates_uniqueness_of :car, :scope => [:dealer_id, :type], :on => :create
仅当最后使用此数据创建的汽车是在 6.months.ago 之前创建的时,才应允许为相同的dealer_id 和相同的类型创建汽车
是否可以仅在 car.created_at > 6.months.ago 的情况下使用 validates_uniqueness_of 汽车?
就我而言,
validates_uniqueness_of :car, :scope => [:dealer_id, :type], :on => :create
仅当最后使用此数据创建的汽车是在 6.months.ago 之前创建的时,才应允许为相同的dealer_id 和相同的类型创建汽车
你可能可以做这样的事情。
validate :be_a_new_car, :on=>:create
def be_a_new_car
old_car = self.class.where(:car=>self.car,:dealer_id=>self.dealer_id,:type=>self.type)
.where("created_at < ?",6.months.ago).first
self.errors.add(:car, "not old enough to be unique") if old_car
end