可能重复:
Skip email validation for omniauth-twitter on devise 2.0
我正在使用此验证规则来发送电子邮件:
validates :email,
:presence => true,
:format => { :with => VALID_EMAIL_REGEX },
:uniqueness => {:case_sensitive => false }
before_save do |user|
user.email = email.downcase#
user.slug = user.username.parameterize
end
我尝试添加:
def email_required?
super && provider.blank?
end
对于跳过电子邮件验证,如果访问者想要通过Twitter注册,但我仍然在此处收到错误,则表明email_required?
无效。
我错过了什么?
谢谢
答案 0 :(得分:0)
email_required
如果您想跳过设计验证,那么可以工作,请参阅:https://github.com/plataformatec/devise/blob/c179cef365f7188c91cbbc3db924a9f1f9563c3c/lib/devise/models/validatable.rb#L29
但是,如果您想跳过自己的电子邮件验证,可以使用以下内容:
validates :email,
:presence => true,
:format => { :with => VALID_EMAIL_REGEX },
:uniqueness => {:case_sensitive => false },
:if => 'provider.blank?'