Генерация имен несогласованной маршрутизации в Rails по умолчанию - PullRequest
0 голосов
/ 29 ноября 2018

У меня есть модель Leave и имя контроллера 'LeavesController'.Когда я устанавливаю resources :leave [единственное число] на routes.rb, тогда имя маршрута в порядке.Но когда я устанавливаю resources :leaves [множественное число], я получаю забавное имя для маршрутизации.Смотрите скриншот для деталей.[ leafe, new_leafe, edit_leafe ]

Как мне избавиться от этого забавного имени маршрута?

imageresources :leaves in routes.rb">

1 Ответ

0 голосов
/ 29 ноября 2018

В config/initializers/inflections.rb раскомментировать / добавить следующее

ActiveSupport::Inflector.inflections(:en) do |inflect|
  inflect.irregular 'leave', 'leaves'
end

Объяснение:

Rails использует Inflectors для сингулярного / множественного числа слов автоматически.Вот как такие вещи, как имена моделей в единственном числе, преобразуются в имена таблиц во множественном числе.Rails обычно может угадать правильное множественное число / сингуляризацию, но иногда может запутаться.Инициализатор inflections.rb позволяет вам явно определить, как вы хотите обрабатывать сингуляризацию / множественное число, когда Rails не дает вам того, что вы ищете.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...