Я создал эшафот в рельсах под названием Cove. В контроллере переменная экземпляра автоматически называется @cofe. Почему это происходит? - PullRequest
3 голосов
/ 21 января 2011

Вот шаги, которые я сделал. В командной строке:

рельсы новый lcdemo рельсы создают эшафот Название бухты: строка

(создал запись в seed.rb)

рейк дБ: мигрировать грабли дБ: семя

В файлах контроллера и просмотра переменные экземпляра называются cofe, а не бухтой.

Ответы [ 2 ]

3 голосов
/ 21 января 2011

Причина

"cove".pluralize
=> "coves"
"coves".singularize
=> "cofe"

Решение

Вы можете отредактировать файл config / initializers / inflections.rb, чтобы создать собственный перегиб, чтобы научить Rails, что единственное число "coves" это"бухта".

inflect.irregular 'cove', 'coves'
2 голосов
/ 21 января 2011

Это будет Инфлектор, творящий свою магию.Похоже, что это множественное число «Cove» для «coves», чтобы сделать имя таблицы, а затем сингулярное «coves» (по аналогии с «wolves», «knives» и т. Д.) В «cofe».Я не знаю, сработает ли это, но вы можете попробовать добавить следующее в config/initializers/inflections.rb перед запуском генератора скаффолдов?

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