【问题标题】:How to call a method when a particular validation fails?当特定验证失败时如何调用方法?
【发布时间】:2017-01-27 06:04:13
【问题描述】:

我正在为用户检查电子邮件的唯一性:

validates_uniqueness_of :email

没关系。但是,当这个特定的验证失败时,我需要调用一个方法。

那么,如何在 Rails 模型中特定验证失败时调用方法?!

TIA!

【问题讨论】:

    标签: ruby-on-rails validation rails-models


    【解决方案1】:

    这样的事情应该可以工作:

    after_validation :email_contains_errors
    
    def email_contains_errors
      if self.email.errors.any?
        # do something
      end
    end
    

    或者如果必须在失败时触发:

    validate :email_contains_errors, :unless => lambda { self.email.errors.empty? }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-12-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-12-15
      • 2013-07-12
      • 1970-01-01
      相关资源
      最近更新 更多