我的validates_presence_of :email
模型中有User
。我的用户模型还有一个布尔member
列,用于确定用户是成员还是普通用户的时间。
普通用户无需电子邮件即可注册。但是当他们注册成员帐户时,他们需要提供电子邮件。
问题是当用户注册为常规时,验证将触发:email
为空。我该怎么做?
如果验证也命名了范围,那就太棒了。
答案 0 :(得分:1)
如果我了解你,那应该就像
一样简单validates_presence_of :email, :if => :member
答案 1 :(得分:1)
您的会员注册表单调用的操作可以显式设置user.member = true,然后JacobM的答案将起作用,即
validates_presence_of :email, :if => :member