验证,回调

问题描述:

我有一个模型的自定义验证规则,说用户的活动状态不能超过3条记录。验证,回调

验证:not_over_active_limit,:之前=>:创建

,当我需要更新的用户的3个活动记录的一个问题就出现了。当我打电话record.update!或record.save!,会引发验证错误,说我不能有三个以上的活动记录。但我只想验证在before_create上运行,而不是保存!或更新!

我可以通过调用save(false)来解决这个问题,但我不想那样做。

任何处理建议?

你正在寻找的代码是

validate :not_over_active_limit, :on => :create 

:before:on

+0

这没有奏效。但是这样做:验证:not_over_active_limit,:on =>:create,:if => Proc.new {| r | r.new_record? } – keruilin 2010-12-07 17:52:22