Подтвердить что ты не робот

Где установить ActiveModel:: Validator?

Я пытаюсь следовать 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
4b9b3361

Ответ 1

Этот парень помещает их под app/validators/, что я и сделал, с тех пор, как увидел этот пост в блоге.

Ответ 2

Добавьте этот класс в свой каталог lib и требуйте его в своей модели и включите его внутри.

Ответ 3

Кроме того, вы также можете добавить его в каталог моделей вашего приложения. Кроме того, как упоминалось shingara, вам нужно добавить,

include ActiveModel::Validations
validates_with MyValidator 

к файлу модели класса записи.