如何禁用所需的验证电子邮件用户狂欢商务

时间:2017-12-19 18:25:17

标签: ruby-on-rails validation email spree commerce

如何在Spree Commerce上禁用所需的验证电子邮件用户类? 我尝试创建一个装饰器:

Spree::User.class_eval do
  validates :email, :presence => false
end 

没有成功。 感谢

2 个答案:

答案 0 :(得分:1)

我找到了解决方案!

Spree::User.class_eval do
    _validators.reject!{ |key, _| key == :email }

    _validate_callbacks.each do |callback|
        callback.raw_filter.attributes.delete :email if   callback.raw_filter.is_a?(ActiveModel::Validations::PresenceValidator)
    end
end 

作品! 谢谢大家。

答案 1 :(得分:0)

为什么不使用absence代替presence

validates :email, absence: true

或简单的解决方案可以从您的用户模型中注释掉验证代码,但这会导致您的数据库不一致。