2013-11-02 26 views
1

在我的Rails 4應用程序中,我有一個電子郵件字段。我的模型可以確保沒有重複的值是使用以下存儲:Rails模型 - 確認電子郵件地址

validates :email, presence: true, uniqueness: { case_sensitive: false } 

這使我受益匪淺,而我沒有打擾有關確認的電子郵件地址,但現在我想確認他們,他們可以登錄之前。這意味着如果其他字段confirmed爲真,我只想確認唯一性。

是否有內置的方法來解決這個問題,還是我自己的驗證規則是必需的?

+1

我會推薦使用像「設計」這樣的寶石來解決你的整個授權邏輯.. – Mattherick

+1

很開心使我自己的感謝 – tommyd456

+1

任何特定的原因,你滾動自己的身份驗證? – jcm

回答

1

您可以通過選項,如設置爲唯一性驗證,像這樣的記載:

validates_uniqueness_of :email, conditions: -> { where(confirmed: true) } 

那麼它只會強制唯一性反對確認的記錄。