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