Как переопределить соглашения об именах rails?

У меня есть модель под названием «одежда», которую я хочу быть одиночной (одна часть одежды). По умолчанию rails говорят, что множественное число – это одежда. Правильно или неправильно, я думаю, что это будет более читаемо, если множественное число будет «одеждой».

Как переопределить соглашение о множественном наименовании? Могу ли я сделать это правильно в модели, поэтому мне не нужно делать это снова и снова? Как это изменится, как обрабатываются маршруты (я использую спокойную архитектуру)?

Я не эксперт RoR, но нашел возможный подход . На ссылочном сайте вы можете добавить правило перегиба внутри файла config/initializers/inflections.rb :

 # Add new inflection rules using the following format ActiveSupport::Inflector.inflections do |inflect| inflect.irregular 'clothing', 'clothes' end 

Для рельсов 2.3.2 и, возможно, 2+, вам нужно сделать это немного иначе:

 ActiveSupport::Inflector.inflections do |inflect| inflect.plural /^(ox)$/i, '\1\2en' inflect.singular /^(ox)en/i, '\1' inflect.irregular 'octopus', 'octopi' inflect.uncountable "equipment" end 

Добавьте это в файл environment.rb если вы пытаетесь остановить плюрализацию базы данных

 ActiveRecord::Base.pluralize_table_names = false 

С Ruby 2.2.2 windows или linux для меня лучше всего решить:

 ActiveRecord::Base.pluralize_table_names = false class Persona < ActiveRecord::Base end personas = Persona.all personas.each do | personita | print "#{personita.idpersona} #{personita.nombre}\n" end p Persona.count 
  • Должен ли быть объявлен «статический конечный регистратор» в ВЕРХНЕЙ ЧАСТИ?
  • Сингулярные или множественные имена controllerов и помощников в Rails
  • Какое соглашение об именах пакетов вы используете для личных / хобби проектов на Java?
  • Соглашения об именах баз данных, таблицах и столбцах?
  • Использование символов подчеркивания в переменных Java и именах методов
  • Давайте будем гением компьютера.