自定义验证:on =>:create not working

djb*_*ick 12 ruby ruby-on-rails

我有一个自定义验证方法,我只想在create上执行:

validate :post_count, :on => :create

def post_count
  # validate stuff
end  
Run Code Online (Sandbox Code Playgroud)

但是,它在更新时被激活(除了在创建时).

:on => :create选项不适用于自定义验证方法吗?

Ju *_*ira 9

据我所知,没有:on选择.使用

validate_on_create :post_count
Run Code Online (Sandbox Code Playgroud)

代替.而且还有validate_on_update.你可以在这里阅读这些方法.

  • 有,实际上不推荐使用validate_on_create,不推荐使用DEPRECATION WARNING validate_on_create.请使用validate(args,:on =>:create) (18认同)

小智 7

这可能是Rails 2.x vs. Rails 3问题,但根据Rails指南验证,:on选项绝对有效(尽管我正在为什么它不会以类似的方式为我解雇).