为什么这些Rails验证有所不同?

时间:2011-08-26 23:40:01

标签: ruby-on-rails ruby-on-rails-3 validation activemodel

  validates :password, :presence => { :on => :create },
            :length => { :within => 4..40 }

  validates :password, :presence => { :on => :create },
            :length => { :within => 4..40, :on => :save }

我认为验证的默认值是:on => :save,这意味着:create和:update?但是当我用第二个规格替换第一个时,开始失败expected valid? to return false, got true

发生了什么事?

1 个答案:

答案 0 :(得分:0)

正如您所说,:on => :save是默认值,意味着on both update and create,因此不需要它。也许你发现了一个错误,但是如果我读了你的问题,因为我们看不到你的规格,你的规格就没有了:on => :保存。把它拿出来继续。