Ruby on rails 模块的ActiveRecord验证

Ruby on rails 模块的ActiveRecord验证,ruby-on-rails,ruby-on-rails-3,ruby-on-rails-3.1,ruby-on-rails-3.2,Ruby On Rails,Ruby On Rails 3,Ruby On Rails 3.1,Ruby On Rails 3.2,我的每个模型都有验证。我还在lib文件夹中定义了一个模块,其中包含更新模型的方法。我如何让我在模型中定义的验证用于模块中的方法 您可以这样做: class MyValidator < ActiveModel::Validator def validate(record) unless MYLIB::isthisgood(record.name) record.errors[:base] << "Name is No Good" end end

我的每个模型都有验证。我还在lib文件夹中定义了一个模块,其中包含更新模型的方法。我如何让我在模型中定义的验证用于模块中的方法

您可以这样做:

class MyValidator < ActiveModel::Validator
  def validate(record)
    unless MYLIB::isthisgood(record.name)
      record.errors[:base] << "Name is No Good"
    end
  end
end

class MyModel < ActiveRecord::Base
  validates_with MyValidator
end
class MyValidator