Я не могу сгенерировать миграции - «недопустимый маршрут должен быть указан контроллер» - где я иду не так? - PullRequest
0 голосов
/ 26 марта 2010

Фон: я использую InstantRails 2.0

Я хотел добавить новый столбец в существующую таблицу, используя следующий синтаксис:

сценарий ruby ​​/ сгенерировать миграцию add_fieldname_to_tablename имя поля: строка

Итак, я попытался

скрипт ruby ​​/ создание миграции add_invites_to_user приглашает: целое число скрипт ruby ​​/ создание миграции add_invites_to_users invites: integer

И чтобы проверить это дальше

скрипт ruby ​​/ генерировать миграцию AddInvites скрипт ruby ​​/ создать миграцию AddInvites приглашает: целое число

Все вышеперечисленное дает мне

builder.rb: 175 в 'build': недопустимый маршрут: должен быть указан контроллер:! (ArgumentError)

Ответы [ 2 ]

3 голосов
/ 26 марта 2010

Понял,

Я указал маршрут без указания контроллера.

т.е. map.connect 'пользователи / пригласить /: идентификатор'

Я исправил это, добавив: controller => 'users'

map.connect 'users / Invite /: id',: controller => 'users'

Я настроил первый маршрут во время работы сервера, и он работал нормально!

2 голосов
/ 27 марта 2010

Объяснение того, почему это происходит, помогает:

Когда вы запустите script/generate Rails создаст экземпляр вашего приложения, что включает в себя загрузку ваших маршрутов среди прочего. Это может показаться чрезмерным, но это «к лучшему», так как другие вещи, загружаемые в процессе инициализации Rails, такие как плагины, гемы и инициализаторы, могут влиять на работу миграции.

Так что да, если у вас плохой код маршрутизации, он сломается, когда вы попытаетесь что-то сгенерировать.

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