当我在我的模型中使用以下代码时,它可以很好地创建一个新条目但是当我尝试编辑表单时,我收到相同的错误消息,显示创建一个新消息。实际问题是,当我为同一数据编辑相同的表单条目时,它不应该给出该错误。只有在使用以下验证字段创建重复数据时,它才会给出错误消息。
module StudentModel
validate :is_valid_true
private
def is_valid_true
@batch = Batch.find(self.batch_id)
@batch.students.each do |s|
if ((s.full_name==self.full_name)&&(s.phone2==self.phone2))
errors.add_to_base("Student with same Name and Mobile number is already Present in the Batch" )
break
end
end
end
end
答案 0 :(得分:0)
我建议将validates_uniqueness_of
与范围一起使用。我认为这是实现您想要实现的目标的更合适的方式。请参阅:https://www.ampproject.org/docs/guides/analytics/analytics_basics。