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

时间:2015-02-08 20:10:03

标签: ruby-on-rails devise devise-confirmable

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

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

1 个答案:

答案 0 :(得分:3)

在您的用户模型中创建一个方法,以使用它而不是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

覆盖设计的注册控制器以使用您的新方法,该方法使用用户模型中的password属性为设计password_confirmationfirst_name生成两个必要字段,例如123就像在John123

中一样

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

相关问题