2013-01-18 37 views
0

我將播種我的數據庫真實的人名和電子郵件地址,並邀請他們加入該網站發送電子郵件到數據庫中的地址,並返回到該網站的鏈接。如果我在網站上使用Devise的'database_authenticable',它會爲加密密碼創建一個電子郵件列和一列。但是,由於我只是用電子郵件播種數據庫,而不是密碼,所以我不確定這是否會造成問題。如何種子加密的密碼

我應該將密碼欄留空嗎?我應該創建一個虛擬密碼並邀請他們改變它嗎?任何建議?

回答這個問題時,請記下我在這個網站上的用戶名,並提供具有我的用戶名(和其他類似智慧的人)瞭解您的答案的人的詳細程度。先謝謝你。

+0

什麼您使用的身份驗證,設計? – ply

+0

@ply是使用設計 – BrainLikeADullPencil

回答

0

做這樣的事情(而不必渾各地的設計本身)最簡單的方法是設置密碼,您的註冊表格上的隱藏字段,併爲每個人(如password123)

默認值您需要運行

rails g devise:views 

允許您自定義設計視圖並將密碼字段更改爲隱藏字段。然後在你的用戶模型中,指定要設置的密碼是什麼,e.g

before_validation: set_default_password 

def set_default_password 
    self.password = 'password123' 
    self.password_confirmation = 'password123' 
end 

然後修改色器件電子郵件通知用戶他們的密碼是什麼,建議他們儘快改變它。

注意:這當然不是最好的解決方案,但它可能是最簡單的運行而不會搞亂Devise代碼。你可以檢查出

另外一個選擇是devise_invitable寶石...

https://github.com/scambra/devise_invitable

這使您可以發送邀請給用戶的電子郵件,然後他們從那裏設置自己的密碼。這可能不符合你的確切需求,但我認爲這是值得一提的。

相關SO問題都可以在這裏找到....

Devise: Create User without Password then Require Password to Use Account?