переопределение множественного числа по умолчанию для имени модели в rails3
Моя локаль: de, и мне нравится получать это:
Sheet.model_name.human.pluralize # => Belegs
Чтобы добавить мне букву "е" вместо "s"
Sheet.model_name.human.pluralize # => Belege
Только для класса листов. Могу ли я добавить его как-то в мой config/locales/models/de.в формате YML ?
3 ответа:
Прежде всего, вам нужно прекратить использовать
.pluralize
. Он использует Флектор (который в основном используется для внутренних рельсов, например, угадывание имен таблиц для модели листа - > листов).Sheet.model_name.human # => "Beleg" "Beleg".pluralize # => "Belegs"
Что вам следует сделать, так это использовать опцию
:count
.Sheet.model_name.human(:count => 2) # => "Belege"
Для этого требуется, чтобы вы изменили свой
de.yml
как таковой:de: ... activerecord: ... models: sheet: one: Beleg other: Belege