我在模型上有一个自定义验证规则,说明用户不能有超过3条状态为活动的记录。
验证:not_over_active_limit,:before => :创建
当我需要更新用户的3个活动记录之一时,会出现问题。当我调用record.update时!或record.save !,抛出验证错误,说我不能有超过三个活动记录。但我只希望验证在before_create上运行,而不是保存!或更新!
我可以通过调用save(false)来解决这个问题,但我不想这样做。
有任何处理建议吗?
答案 0 :(得分:0)
您正在寻找的代码是
validate :not_over_active_limit, :on => :create
不是:before
而是:on