2017-12-19 14 views
0

必要な検証電子メールを無効にする方法ユーザー・クラスのSpree Commerce? 私はデコレータを作成しよう:必要な検証電子メールを無効にする方法ユーザー・スプリー・コマース

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

成功しません。 ありがとう

+1

エラーは何ですか? –

+0

まだ検証中です。 必要なメッセージが引き続き表示されます。 ありがとうございました。 –

答えて

0

presenceの代わりにabsenceを使用しないのはなぜですか?

validates :email, absence: true

または単純な解決策は、ユーザーモデルから検証コードをコメントアウトすることができますが、それはあなたのDBに矛盾につながります。

0

解決策が見つかりました。

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 

Works! ありがとうございます。

関連する問題