1

在我的模型中,我需要使用 if 条件和操作名称进行验证(仅更新)。它应该是这样的:

validates email, :presence => {with:true}, :if => condition || :on => :update

但它给了我一个语法错误。我正在使用带有 ruby​​ 1.9.3 的 rails 3.2.11。请帮忙!

4

1 回答 1

0

您可以使用Rails 自定义验证器

validates_with CustomValidator, :on => :create

并有一个单独的 CustomValidator 类

class CustomValidator < ActiveModel::Validator
  def validate(record)
    if condition
      record.email.present?
    end
  end
end
于 2013-11-02T19:15:42.277 回答