【发布时间】:2009-11-09 12:43:44
【问题描述】:
我有一个标准的活动记录模型,其中包含所需的属性:
class Sample < ActiveRecord::Base
has_many :colors
before_validation :grab_colors
validates_presence_of :size
validate :number_of_colors
private
def grab_colors
# grab x number of colors | x = size
end
def number_of_colors
self.errors.add("size","is to large.") if colors.count < size
end
end
我的问题是 grab_colors 方法需要 size 属性,但执行的结果也需要验证。在上面的例子中 size 在它的存在被验证之前被使用。
我可以将实例设置为无效并在所有验证完成后停止保存过程吗?
【问题讨论】:
标签: ruby-on-rails activerecord callback