Я пытаюсь написать собственный валидатор, который будет проверять количество слов, введенных в текстовое поле.
Я пытался следовать примеру в эпизоде Railscasts 211 - http://railscasts.com/episodes/211-validations-in-rails-3
Поэтому я создал файл /lib/word_limit_validator.rb и скопировал в тот же код из учебника.Я знаю, что этот код не учитывает количество слов, я просто пытаюсь использовать его, потому что я знаю, как он должен себя вести.
class WordLimitValidator < ActiveModel::EachValidator
def validate_each(object, attribute, value)
unless value =~ /^([^@\s]+)@((?:[-a-z0-9]+\.)+[a-z]{2,})$/i
object.errors[attribute] << (options[:message] || "is not formatted properly")
end
end
end
Вот строка, которую я использовал в своей проверке:
validates :body, :presence => true,
:word_limit => true
Когда я попытался загрузить форму, я получил следующую ошибку:
Неизвестный валидатор: 'word_limit'
Как получить рельсыузнать мой валидатор?
Спецификация системы: Mac OS 10.6.7 Rails 3.0.4 ruby 1.9.2p136