0

实现了子类验证和超类验证。如何丢弃子类中的超类验证?
我的代码:

class a < ActiveRecord::Base
  validates_presence_of :price
end

class a2 < a
  validates_presence_of :price
end

当我为 a2 创建对象时,使用以下命令:

x = a2.new
x.save

显示以下错误:

x.errors.full_messages
=> ['price can't be blank','price can't be blank']

我该如何解决这个问题,以便忽略超类的验证。

4

2 回答 2

0

根据您的代码,这两条错误消息是预期的。

您对继承模型所做的是向验证添加一个验证,而不是覆盖它。

于 2013-08-23T11:52:41.190 回答
0

我尝试使用“添加到错误”,除非errors.add?效果很好。

于 2013-09-30T22:36:10.247 回答