【发布时间】:2012-09-06 11:59:31
【问题描述】:
在我当前的 ROR 项目中,我使用设计连接进行验证。在我的更改密码表单验证中,我在 user 模型中使用以下代码
validates_presence_of :password, :password_confirmation
但我想验证只是为了一个动作。我的用户控制器中有一个名为update_password 的函数。我发现我可以按如下方式分配操作:
validates_presence_of :password, :password_confirmation, :on => :update_password
但它不起作用。即使密码和密码确认字段为空,也会提交表单。谁能帮我解决如何仅为特定操作设置验证。会有很大帮助
非常感谢
【问题讨论】:
-
:on选项接受值:create或:update,而不是:update_password -
那么我该如何设置
update_password -
:on选项不适用于“控制器上下文”,而是“对模型的操作”。您可以设置实例变量以从控制器设置上下文,并使用:if选项对其进行测试
标签: ruby-on-rails ruby-on-rails-3 devise passwords