我的应用程序允许人们使用密码或Facebook注册.
即使我从用户模型中删除了密码验证,我也会得到:password_digest =>用户模型上的[“不能为空”].
我使用has_secure_password.
如何才能使password_digest不需要?
解决方法
你不能.
has_secure_password
会自动为您的模型添加两个验证器:
validates_confirmation_of :password validates_presence_of :password_digest
相反,为没有密码的用户提供password_digest的虚拟值:
user.password = user.password_confirmation = "" user.password_digest = "facebook-authorized account"
这是安全的,因为没有密码可以被散列以匹配该摘要.