Допустим, что у меня есть класс Comment, который является полиморфным, и я использую его во многих местах внутри системы.Применить валидацию только к одному объекту - Rails 3
класс Комментарий < ActiveRecord :: Base belongs_to: commentable,: полиморфный => верно attr_accessible: содержание конец
И это единственное место, в котором я хотел бы применить проверку на длину содержимого комментария. Как мне подойти к этой проблеме?
1) Используйте STI и добавьте новую проверку в подкласс - я чувствую, что это перегиб 2) Расширьте этот единственный объект, который создается/обновляется в контроллере с требуемой валидацией. Но как добиться этого без постоянного расширения своего класса?
может ли вы рассказать нам больше о «этом одном месте»? – Swanand
Вы считали, что просто используете HTML ': maxlength => n'? – Trip
@Trip, мы всегда должны проверять его на стороне сервера, так как некоторые пользователи могут публиковать значения, но не используя вашу форму ... – PeterWong