我有这个验证规则的注册表单:
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 中学到了这个技巧
关于ruby-on-rails - Rails 3 - 如何跳过验证规则?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12661413/