Скажем, у меня есть одна проверка, которая работает с несколькими атрибутами. Например, я сохраняю «длину» определенной модели как два отдельных целых числа: футы,: дюймы, и я хочу убедиться, что длина не равна нулю, то есть оба: футы и: дюймы неотрицательны и по крайней мере один положительный. Это легко, например, добавив
errors.add_to_base('invalid length') unless (feet >= 0 and inches >= 0 and feet+inches > 0)
моему методу проверки (вместе с отдельными проверками целостности и дюймами <12). </p>
Но я хочу связать ошибку с полями :inches
и :feet
, чтобы при возникновении ошибки оба поля в форме выделялись. Прямо сейчас единственное, что я вижу, это звоню errors.add()
дважды, по одному разу для каждого поля. Но я сгенерировал эту модель с использованием скаффолдинга, поэтому для этого потребуется выпустить два сообщения об ошибках, по одному на каждый вызов errors.add()
. Также в самой форме я хотел бы использовать одну метку «Длина» рядом с обоими этими полями, и я хотел бы, чтобы эта метка выделялась при возникновении ошибки.
Нужно ли мне бросать строительные леса, чтобы добиться этого? Как? Спасибо!