新手问题 通过别的 model 调用 validates 的一个小问题 (已经解决)

QueXuQ · 2012年11月13日 · 最后由 QueXuQ 回复于 2012年11月13日 · 1695 次阅读

问题是这样的, 有 2 个 models,分别是 A 和 B,C,A 里面的 amount 值不可以小于 0,但是本身 A 是不处理任何事情的,只是 B 和 C 处理

A 和 B 的关系是,一对一

然后我在 A 下面做一个验证:

validates :amount_must_be_at_least_zero

private
def amount_must_be_at_least_zero
  errors.add(:amount, "数量不可以小于0") if amount < 0
end

但是如果这样的话,在 B 中调用 A 的 amount 的时候会出现错误

@B.index{ |B| B.A.try(:amount) < B.A.try(:amount_last) }
#错误  You need to supply at least one validation

不知道这个问题从哪里来的?

` validate :amount_must_be_at_least_zero

用方法定义验证,没有那个 s。

提示你没有添加任何验证规则。 validates 后面需要跟验证规则,:presence => true, :length => { :in => 6..30}之类的。

#1 楼 @woaigithub 谢谢,问题解决,原来是多了一个 S,我没有留意,找了好多方法都无法解决。谢谢。

需要 登录 后方可回复, 如果你还没有账号请 注册新账号