6

Сообщение об ошибке не преобразует мои вложенные атрибуты модели, так как оно определено как единственное, но в сообщениях об ошибках оно ищет множественное число.Rails переводит сообщения об ошибках проверки для вложенных атрибутов i18n

У меня есть модель «Человек», у которой есть_маны: адреса. Эта модель Person принимает вложенные атрибуты «Адреса». Я создаю адреса только вместе с моделью Person.

мой файл локали выглядит

en: 
    activerecord: 
    models: 
     person: 
     one: "Person" 
     other: "People" 
     address: 
     one: 'Address' 
     other: 'Addresses' 
    attributes: 
     person: 
     first_name: 'First name' 
     last_name: 'Last name' 
     middle_name: 'Middel name' 
     address: 
     street: street 
     city: city 
     country: country 

и сообщение об ошибке:

en: 
    errors: &errors 
    format: ! '%{attribute} %{message}' 
    messages: 
     blank: can't be blank 

Он работает с единичными моделями, но с вложенными атрибутами у меня есть проблемы с сообщениями проверки.

Поскольку сообщение отображается как:

@messages= 
    {:first_name=>["can't be blank"], 
    :last_name=>["can't be blank"], 
    :"addresses.street"=>["can't be blank"], 
    :"addresses.city"=>["can't be blank"]}> 

что поиск не находит перевод addresses.street, так как он просто address.street в файле YML.

Как я могу найти адрес address.street, когда он ищет address.street, не удваивая все мои записи?

+0

Возможно [это так ответ] (http://stackoverflow.com/a/11129637/660260) может помочь. – Flauwekeul

ответ

-1

вы посмотреть, как обращаться с плюрализацию в Rails Doc

[рельсы i18n] [1] [1]: http://guides.rubyonrails.org/i18n.html#pluralization

3 плюрализация В английском есть только одно единственное и одну форму множественного числа для данной строки, например «1 сообщение» и «2 сообщения». Другие языки (арабский, японский, русский и многие другие) имеют разные грамматики, которые имеют дополнительные или меньшие множественные формы. Таким образом, API I18n обеспечивает гибкую функцию плюрализации.

Смежные вопросы