我在User
模型中獲得validates_presence_of :email
。我的用戶模型也有一個布爾型member
列,以確定何時用戶是成員或常規用戶。如何驗證會員的電子郵件?
普通用戶無需電子郵件即可註冊。但是當他們註冊會員賬戶時,他們需要提供一封電子郵件。
問題是當用戶註冊爲常規用戶時,驗證會觸發說明:email
爲空。我如何去做這件事?
如果驗證也命名了作用域,那就太棒了。
我在User
模型中獲得validates_presence_of :email
。我的用戶模型也有一個布爾型member
列,以確定何時用戶是成員或常規用戶。如何驗證會員的電子郵件?
普通用戶無需電子郵件即可註冊。但是當他們註冊會員賬戶時,他們需要提供一封電子郵件。
問題是當用戶註冊爲常規用戶時,驗證會觸發說明:email
爲空。我如何去做這件事?
如果驗證也命名了作用域,那就太棒了。
,該成員的註冊表單調用行爲可以明確設置user.member = true,則JacobM的回答會的工作,即,
validates_presence_of :email, :if => :member
完美!這似乎工作! –
如果我理解你,應該是越簡單
validates_presence_of :email, :if => :member
那麼,只有當用戶已經是會員時纔會觸發。這意味着,在會員的註冊表單上,如果用戶決定將電子郵件留空,驗證不會觸發。 –
我不明白爲什麼。直到您嘗試保存對象時纔會觸發驗證。大概你已經設置了成員標誌。它與「如果你對問題1說是,然後問題2是必需的」並沒有根本的區別,我一直這樣做。 –
你能詳細說明你想要發生什麼嗎?如果一個空白電子郵件的普通用戶註冊成爲會員,*不應該*觸發驗證錯誤? –
對不起,作了一些更改,使其更清晰。基本上,想要註冊爲常規用戶不應該觸發電子郵件驗證 –