rails g scaffold name name: string - это ошибка соглашения об именах или что-то еще - PullRequest
0 голосов
/ 08 июля 2011

В моем блоге есть посты, принадлежащие серии. Я пытался создать серию строительных лесов, но есть некоторые проблемы с маршрутами.

Механизм плюрализации неверен, поэтому мне пришлось вручную изменить Sery, @series и @sery, что не имеет большого значения.

Маршрутизация в порядке с resources :series. Но потом, когда я пытаюсь создать серию, помощник form_for жалуется на маршрут.

А потом, когда я создаю его с консоли, он работает, но rails все еще жалуется на маршруты.

Пожалуйста, создайте простое приложение и посмотрите, в чем проблема.

rails new test_series_app

А затем запустите генератор строительных лесов:

rails g scaffold series name:string

И посмотрите, как путаются маршруты, и помогите мне, пожалуйста!

1 Ответ

1 голос
/ 08 июля 2011

Для справки, я поместил код singularize в генератор скаффолдов (да, мой единственный вклад в Rails).Все, что он делает, это проверяет, если record_name == record_name.pluralize.Если это так, и вы не передали --force-plural, он вызывает record_name = record_name.singularize.

. В этом случае "series" .pluralize - это то же самое, что и "series" .singularize, поэтому я предполагаю, что это не такделать что-нибудь.

Так что, если у вас возникли проблемы с этим, вам нужно написать инфлектор для слова.

(я написал его после выступления Джереми Кемпера в RailsConf 2008 года, в котором он случайнопередал во множественном числе название модели, вызывая самые горя в середине своего выступления.)

...