【发布时间】:2017-01-27 06:04:13
【问题描述】:
我正在为用户检查电子邮件的唯一性:
validates_uniqueness_of :email
没关系。但是,当这个特定的验证失败时,我需要调用一个方法。
那么,如何在 Rails 模型中特定验证失败时调用方法?!
TIA!
【问题讨论】:
标签: ruby-on-rails validation rails-models
我正在为用户检查电子邮件的唯一性:
validates_uniqueness_of :email
没关系。但是,当这个特定的验证失败时,我需要调用一个方法。
那么,如何在 Rails 模型中特定验证失败时调用方法?!
TIA!
【问题讨论】:
标签: ruby-on-rails validation rails-models
这样的事情应该可以工作:
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? }
【讨论】: