Исключения, возникающие при сохранении / создании модели
Я использую обратные вызовы ActiveRecord after_validation, after_validation_on_create и before_save (в зависимости от обстоятельств), чтобы получить дополнительные данные и убедиться, что все готово для сохранения.Затем, если возникнут проблемы, я сохраняю исключение в ошибках [: base], используя add_to_base .Таким образом, представление будет отображать сообщение об ошибке так же, как и любые другие ошибки проверки.
Помните, что если ваш метод before_save возвращает false, сохранение завершится неудачей.
Исключениядля других методов модели
Доступны все обычные методы:
- Вызовите конкретное исключение, которое будет ловить контроллер.Исключение может содержать номер ошибки, который представление преобразует в сообщение об ошибке.Или модель может экспортировать error_num в хэш error_msg
- Возвращать код ошибки в качестве параметра возврата метода.Например, если вы хотите также использовать Flash, чтобы дать положительное сообщение, когда все работает, вы можете вернуть код msg_code.Затем получите отрицательные коды сообщений для ошибок и положительные коды для разных типов успеха.
- Установите переменную экземпляра @error (или любую другую) для проверки вызывающей стороной.