Rails - 如何在我自己的控制器方法中设置验证

时间:2009-12-17 11:20:39

标签: ruby-on-rails validation

我的模型中有一个password_reset_token字段,它只存储一个身份验证令牌,用于解析重置密码url。

除非调用我的控制器中的forgot_password方法,否则它将为nil。在这里生成令牌。

我希望验证仅在此处运行,否则每次更新用户对象时,验证都会抱怨空令牌字段。 我该怎么做?

2 个答案:

答案 0 :(得分:2)

您可以通过这样做跳过验证:

@my_object.save(false)

当然,明智地使用它。跳过验证最终会导致数据库中插入损坏的数据......

答案 1 :(得分:2)

为什么要验证它?当用户进入忘记密码表单时,他只需要提交我想要的电子邮件地址,轮到您生成身份验证令牌,所以基本上没有必要验证它,因为它不会是输入。