我有一个模型StudentProductRelationship
。我正在添加自定义验证器
validate :validate_primary_product , :if => "!primary_product"
方法是
def validate_primary_tag
unless StudentProductRelationship.exists?(:primary_product => true, :student_id => student_id)
errors.add(:base,"There is no primary product associated to product")
else
end
end
primary_product
是一个布尔字段。我想验证primary_product
至少有一个真student_id
的存在。问题是如果我有一个StudentProductRelationship
对象说spr
和primary_product = true
。如果我做spr.update_attributes(primary_product: false)
。验证不会引发错误,因为StudentProductRelationship.exists?(:primary_product => true, :student_id => student_id)
存在beacuse spr
仍存在于带primary_product = true
的数据库中。我如何超越这个?
答案 0 :(得分:0)
tvm.Task.Instructed
不适用于你吗?