【问题标题】:How to disable required validation email User Spree Commerce如何禁用所需的验证电子邮件用户 Spree Commerce
【发布时间】:2018-06-02 05:58:00
【问题描述】:

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

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

没有成功。 谢谢

【问题讨论】:

  • 你得到什么错误?
  • 仍在验证中。所需的消息仍然显示。感谢您的关注。

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


【解决方案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 

有效! 谢谢大家。

【讨论】:

    【解决方案2】:

    为什么不使用absence 而不是presence。?

    validates :email, absence: true

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

    【讨论】:

      猜你喜欢
      • 2014-03-22
      • 1970-01-01
      • 1970-01-01
      • 2017-03-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多