Как отобразить перевод индекса (rails-i18n) в Rails? - PullRequest
0 голосов
/ 18 февраля 2020

В 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'

Но как организовать перевод без указания каждого индекса?

1 Ответ

0 голосов
/ 18 февраля 2020

Попробуйте установить перевод для Модели, не вкладывая его в свои ассоциации. Что-то вроде фрагмента ниже.

en:
  activerecord:
    models:
      inv_item: Inventory Item
    attributes:
      inv_item:
        serial_num: Serial Number

Направляющая направляющих

...