Как мне не писать @entity.errors.add и при этом выводить правильные сообщения об ошибках из локали?
Моя задача вывести сообщения ошибок валидации в форме.
Я могу в контроллере и модели написать свои значения ошибок, тогда проблем нет.
Например: @entity.errors.add :email, t('mongoid.errors.models.modern.entity.attributes.email.invalid') выдает сообщение с локали, но еще и пишет через точку с запятой 'is valid'
Я хочу сделать это через локаль без дублирования.
Вместо active record в локали у меня стоит mongoid.
И если я пишу в контроллере @entity.errors.add :email, :invali.
То он жалуется, что локали: en.mongoid.errors.models.modern/entity.attributes.email.invali нет.
Тут все верно, такой локали нет.
Но есть локаль en.mongoid.errors.models.modern/entity.attributes.email.invalid
И есть значение: 'Ivalid format email'.
Но он уже пишет не это значение, а значение 'is invalid', которое никак не совпадает с моим custom значением в локали.
По хорошему у меня не должно быть строки @entity.errors.add :email, :invalid
Сообщения должны выводиться во вьюхе без этих записей в контроллере.
Но почему-то они не берут те значения из локали, а пишут 'is invalid'.
Локали и контроллер находятся в Engine Modern.
Вопрос:
Как мне не писать @entity.errors.add с параметрам и при этом выводить правильные сообщения об ошибках из локали?
Yml валидный в locales
Мои предположения:
Это может быть из-за Engine
Это может из-за render action: :new