В Rails 5 добавлена индексация ошибок с использованием (индексация ошибок по вложенным атрибутам) для моделей:
class Order
has_many :operations, index_errors: true
accepts_nested_attributes_for :operations
end
class Operation
has_many :inv_items, index_errors: true
accepts_nested_attributes_for :inv_items
end
В результате вызова order.errors.full_messages я получаю ошибки в этой форме:
{: "operations [0] .inv_items [0] .serial_num" => ["Не может быть пустым"],: "operations [0] .inv_items [1] .serial_num" = > ["Не может быть пустым"]}
В файле .yml я могу напрямую установить перевод
en:
activerecord:
attributes:
warehouse/order/operations[0]/inv_items[0]:
serial_num: 'Serial number'
Но как организовать перевод без указания каждого индекса?