валидация математического уравнения с валидацией рельсов - PullRequest
0 голосов
/ 20 мая 2009

Я хочу, чтобы в форме регистрации на моем сайте было поле, в котором принимается сумма математического уравнения, и используется проверка рельсов для ее проверки. Какой лучший способ сделать это?

* 1003 т.е. *

Что такое 6 + 9? [8]

Сообщение об ошибке: вы ввели неправильный номер

1 Ответ

1 голос
/ 21 мая 2009

Переопределите метод validate в классе вашей модели. Помните, что объект модели, который вы создаете для действия new, отличается от экземпляра, созданного для действия create, поэтому вам нужно сохранить случайное начальное число или математическое выражение где-нибудь в форме, чтобы воссоздать его во время проверки.

Тогда что-то вроде:

def validate
  unless math_equation_answered?
    errors.add("math_answer", "is incorrect")
  end
end

Реализация math_equation_answered? зависит от вас, и math_answer следует изменить на любое поле модели, которое вы используете для ответа пользователя.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...