我有注册表格这个验证规则:
validates :email,:presence => {:message => 'cannot be blank.'},:allow_blank => true,:format => { :with => /\A[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]+\z/,:message => 'address is not valid. Please,fix it.' },:uniqueness => true
此规则检查,如果用户填写注册表单电子邮件地址(其格式正确).
现在我正在尝试添加使用Twitter登录的机会. Twitter不提供用户的电子邮件地址.
在这种情况下如何跳过上面的验证规则?
解决方法
您可以在代码中保存用户时跳过验证.而不是使用user.save !,使用user.save(:validate => false).从
Railscasts episode on Omniauth学到了这个技巧