3
爲我的rails3,設計,用戶模型(名稱,電子郵件等...)我想防止在網站上註冊不好的域名。Rails - validates_each只允許某些電子郵件?
這個想法是我有一個列入黑名單的域(badplace.com,hotmail.com)...當新的用戶記錄被保存時,我檢查電子郵件,如果它有一個壞域域,我添加一個錯誤。
那麼什麼是巧妙地在Rails中實現這個正確的方式...
這就是我一直在玩:
在用戶模式
protected
validates_each :email, :on => :create do |record, attr, value|
domain = email.split("@").last
record.errors.add attr, "That's a BAD EMAIL." unless value && !value.contains(domain)
end
你怎麼看?
感謝指出這一點。這裏問題是我會有幾十個不好的電子郵件。可以不是一個var?另外,消息有什麼作用?我不想添加record.errors,因此表單可以顯示出錯的地方,請確定消息是否自動執行? thxs – AnApprentice 2011-01-20 22:54:25