0

我有validates_presence_of :email我的User模型。我的用户模型还有一个布尔member列,用于确定用户是会员还是普通用户。

普通用户无需电子邮件即可注册。但是当他们注册会员帐户时,他们需要提供电子邮件。

问题是当用户注册为普通用户时,验证将触发声明:email为空白。我该怎么做?

如果验证也命名了范围,那就太棒了。

4

2 回答 2

1

如果我理解你,它应该很简单

validates_presence_of :email, :if => :member
于 2012-05-14T21:00:27.980 回答
1

您的会员注册表单调用的操作可以显式设置 user.member=true,那么 JacobM 的答案将起作用,即,

validates_presence_of :email, :if => :member
于 2012-05-14T22:13:21.647 回答