Модель из существующей таблицы в Rails 2 - PullRequest
5 голосов
/ 23 октября 2009

У меня есть база данных с таблицами. Я хочу создать модель в своем приложении Rails из существующей таблицы. Как я знаю, такая функциональность доступна и выполняется следующим образом:

script/generate scaffold <i>model_name</i> --skip-migration


Конечно, я определил свою базу данных в файле database.yml. Скаффолд сгенерировал для меня модель с контроллером и видами. Мое имя таблицы не такое, как должно быть для Rails (оно неверно, не соответствует соглашениям), я добавил set_table_name в мой контроллер. Но когда я вызываю метод index, на моей странице у меня есть только набор символов #, но не данные из базы данных. В моем index.html.erb я только генерировал код с помощью скаффолда. Как я могу распечатать данные моей базы данных?

1 Ответ

7 голосов
/ 23 октября 2009

Вы сгенерировали файл схемы из существующей базы данных? Если вы запустите команду

rake db:schema:dump

, а затем заново сгенерируйте ваш эшафот, это должно решить проблему.

Дополнительно вы можете проверить Генератор магических моделей доктора Ника . Это сгенерирует модели для всех ваших существующих таблиц и попытается угадать отношения. Это, вероятно, не сработает, если имя таблицы не будет понятно рельсам.

UPDATE

Обычно я не использую скаффолд по умолчанию, однако я сам проверил это, и кажется, что если вы пропустите миграцию и не пропустите ни одной пары имя / тип столбца, тогда генератор скаффолда не создаст ничего в шаблоне для рендеринга столбцы.

У вас есть два варианта здесь

  1. Передать пары имен столбцов, а также пропустить миграцию или
  2. Загрузить Райан Бейтс Генератор Nifty Scaffold , который создаст каркас с именами столбцов, даже если вы укажете --skip -igration
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...