自动为用户设置密码 - Devise

Automatically set password for user - Devise

Following this tutorial,我用设计设置了一个简单的注册系统,用户在其中输入他们的电子邮件地址,他们会收到一封确认电子邮件,他们点击它,它会把他们带到一个他们必须填写的表格输入他们的密码并完成注册。

如何跳过该密码表单,以便用户在他们的电子邮件中单击确认 link 后,他们的帐户就会被创建?如何为所有用户自动设置简单密码?

在您的用户模型中创建一个方法来代替 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

覆盖设备的注册控制器以使用您的新方法,该方法使用用户模型中的 first_name 属性为设备 passwordpassword_confirmation 生成两个必要字段然后 123 就像 John123

在你的参数被清理后在你的控制器中。你应该打电话给 User.create_with_password(user_params)