Мне нужен объект ошибки для передачи ошибок между контроллерами и представлениями js для ответов ajax. Я хотел использовать ActiveModel :: Errors с тех пор, как я мог легко объединить ошибки от проверки модели до ошибок не модели. Но у меня были некоторые проблемы с использованием этого подхода.
Использование ActiveModel :: Errors.new (nil)
Если я попытаюсь вызвать to_a () примерно так:
@errors = ActiveModel::Errors.new(nil)
@errors[:test] = "is a required field."
@errors.to_a().join("<br />")
Я получаю ошибку:
undefined method `human_attribute_name' for NilClass:Class
Он пытается вызвать human_attribute_name для ноля, который я передал в Errors.new, который должен быть моделью ActiveRecord.
Мне интересно, знает ли кто-нибудь о лучшем способе обработки ошибок или уже выбранный мной подход был превращен в какой-то драгоценный камень.