Rails验证器在状态和格式之间存在差异

时间:2012-04-23 19:46:20

标签: ruby-on-rails-3 validation

我有一个带有电子邮件地址的模型,但我不想要它来创建实例。我尝试了以下方法:

validates :email, :presence => false, :format => { :with => email_regex }

但是我的测试套件失败了,格式正则表达式显然需要存在所需的电子邮件属性。

我认为可以使用before_save方法:是否可以拒绝在before_save方法中保存对象?这样做有更好的“Rails方式”吗?

1 个答案:

答案 0 :(得分:5)

您可以使用:allow_blank(或:allow_nil):

validates :email, :allow_blank => true, :format => { :with => email_regex }