跳过插件中定义的模型验证

时间:2011-02-01 15:05:52

标签: ruby-on-rails ruby-on-rails-3 activerecord

我正在使用restful身份验证插件,但在我的网站上,我想要一个没有“确认密码”字段的注册表单。现在的问题是插件模块中有一些硬编码,这些验证包含在我的用户模型中。

# Authentication::ByPassword
validates_presence_of     :password_confirmation,      :if => :password_required?
validates_confirmation_of :password,                   :if => :password_required?

如何在不修补插件的情况下禁用这些验证?如果我在模型中重新定义验证,这会成功吗?或者在这种情况下最好的做法是什么?

# user.rb
validates_presence_of     :password_confirmation,      :if => Proc.new { false }
validates_confirmation_of :password,                   :if => Proc.new { false }

1 个答案:

答案 0 :(得分:2)

您可以使用:

save(false)

或者:

 update_attribute

跳过所有或一次验证。