如何在Ruby on Rails中覆盖用户模型的密码和确认?

问题描述:

我正在构建一个有用户和所有者的应用程序。业主有许多用户,每个用户可以belong_to一个所有者。它是相同的模型,并且这些关联是在模型内部构建的。问题是我想能够添加和更改它们的字段值(例如user.department)和has_secure_passwordpassword,password_confirmation)阻止我这样做,因为我必须输入密码&确认要保留的值。如何在Ruby on Rails中覆盖用户模型的密码和确认?

任何人都可以告诉我如果我可以绕过密码+所有者确认验证?

我使用的轨道教程由迈克尔·哈特尔https://www.railstutorial.org/book/sign_up

has_secure_password validations: false 
validates :password, :password_confirmation, :presence => true, :if => :password 

是实现的一个方法。

+0

非常感谢。起初它没有工作,但我发现我需要删除我的has_secure_password(我有他们都包括在内)。我会很高兴如果你能解释为什么你把这个“如果......”放到最后。 – Radolino 2014-11-04 09:40:26

+0

如果参数[:密码]存在,它会要求验证密码和密码确认。因此,对于需要密码的所有情况,都需要找到密码。 – Kasperi 2014-11-04 14:09:55