验证,回调
问题描述:
我有一个模型的自定义验证规则,说用户的活动状态不能超过3条记录。验证,回调
验证:not_over_active_limit,:之前=>:创建
,当我需要更新的用户的3个活动记录的一个问题就出现了。当我打电话record.update!或record.save!,会引发验证错误,说我不能有三个以上的活动记录。但我只想验证在before_create上运行,而不是保存!或更新!
我可以通过调用save(false)来解决这个问题,但我不想那样做。
任何处理建议?
答
你正在寻找的代码是
validate :not_over_active_limit, :on => :create
不:before
但:on
这没有奏效。但是这样做:验证:not_over_active_limit,:on =>:create,:if => Proc.new {| r | r.new_record? } – keruilin 2010-12-07 17:52:22