自动为用户设置密码 – 设计

在本教程之后 ,我设置了一个简单的设计注册系统,用户输入他们的电子邮件地址,他们会收到一封确认电子邮件,他们点击它,将他们带到一个表格,他们必须输入密码并完成注册。

如何跳过该密码表单,以便用户点击其电子邮件中的确认链接后,会创建其帐户? 如何为所有用户自动设置简单密码?

在用户模型中创建一个方法以使用它而不是create方法。 我们称之为create_with_password

 def self.create_with_password(attr={}) generated_password = attr[:first_name] + "123" self.create(attr.merge(password: generated_password, password_confirmation: generated_password)) end 

覆盖devise的注册控制器以使用新方法,该方法使用用户模型中的first_name属性生成设计passwordpassword_confirmation的两个必要字段,例如123John123

在对参数进行消毒后,在控制器中。 你应该调用User.create_with_password(user_params)