21

http://api.rubyonrails.org/classes/ActiveModel/Validator.htmlをフォローしようとしていますが、どこに配置すればよいですか?

 class MyValidator < ActiveModel::Validator
    def validate(record)
      if some_complex_logic
        record.errors[:base] = "This record is invalid"
      end
    end

    private
      def some_complex_logic
        # ...
      end
  end
4

3 に答える 3

24

この男app/validators/は、私がそのブログ投稿を見て以来、私もそうしているように、それらを下に置きます。

于 2011-05-16T16:43:00.287 に答える
2

このクラスをlibディレクトリに追加し、モデルに要求して、その中に含めます。

于 2010-12-17T08:08:12.540 に答える
1

または、アプリのモデルディレクトリに追加することもできます。また、シンガラが述べたように、あなたは追加する必要があります、

include ActiveModel::Validations
validates_with MyValidator 

レコードクラスのモデルファイルに。

于 2011-04-17T03:43:43.487 に答える