Взаимосвязь моделей ORM в Ruby On Rails - PullRequest
1 голос
/ 05 февраля 2010

Я немного сбит с толку относительно того, как "отношения" создаются / обрабатываются в ROR / rake.

Может ли кто-нибудь подтвердить, верно ли следующее?

  1. Кодировать «вставить отношение xxx» в файл миграции БД. Перенесите это когда-нибудь.
  2. Код в последнем отношении (has_xxx ...) в файле модели.

Если это так, может ли ROR автоматически сгенерировать файл миграции БД из изменений в модели?

1 Ответ

0 голосов
/ 05 февраля 2010

Вы на правильном пути.
В своей миграции используйте метод t.references. Например:

t.references :user

Это создаст столбец user_id в вашей базе данных.
Тогда в вашей модели вы используете:

belongs_to :user

Если вы хотите использовать в своей модели has_xxx: widgets, для таблицы базы данных виджетов требуется столбец what_id.
Rails не вносит никаких изменений в вашу миграцию в зависимости от вашей модели. AFAIK, Rails никогда не изменит вашу миграцию после ее создания. Вам придется кодировать эти отношения вручную.

...