Following this tutorial,我建立一個簡單的登記制度與色器件,其中用戶輸入他們的電子郵件地址,他們收到一封確認郵件,他們點擊它,它需要他們,他們有一個表格輸入密碼並完成註冊。爲用戶自動設置密碼 - 設計
如何跳過密碼形式,這樣,一旦用戶點擊電子郵件中的確認鏈接,創建自己的帳戶?我怎樣才能爲所有用戶自動設置簡單的密碼?
Following this tutorial,我建立一個簡單的登記制度與色器件,其中用戶輸入他們的電子郵件地址,他們收到一封確認郵件,他們點擊它,它需要他們,他們有一個表格輸入密碼並完成註冊。爲用戶自動設置密碼 - 設計
如何跳過密碼形式,這樣,一旦用戶點擊電子郵件中的確認鏈接,創建自己的帳戶?我怎樣才能爲所有用戶自動設置簡單的密碼?
創建用戶模型的方法,而不是使用它的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
屬性,例如你的用戶模型色器件password
和password_confirmation
兩個必要的字段,然後123
像新方法John123
在您的控制器中對參數進行清理後。你應該叫User.create_with_password(user_params)
實際上最好使用'generated_password = Devise.friendly_token.first(8)'生成密碼 – Yurijmi 2016-05-13 13:39:22
當然是這樣。這只是一個示例用法。 – 2016-05-13 14:54:39
我個人喜歡用[xkpassword](https://github.com/jdeen/xkpassword)生成一些內存友好的強熵密碼, – 2017-05-19 05:39:35
我把一個'after_create'鉤在'User'模型設置默認密碼。但至於跳過密碼輸入,我不確定。 – 2015-02-08 20:42:09