you are completely right. what was happening was that when the account gets initially created, the password gets set to nil after it gets hashed into a password digest. Thus, when I try to save the user here, it throws an error because the model validates the password not to be nil when the password is created.

I will have to figure out another workaround, perhaps put the validation in a different place than the model