Подтвердить что ты не робот

Генерирующая модель с ассоциациями ActiveRecord

Люди,

Я работаю над созданием приложения, в котором у меня есть два объекта в моем проблемном пространстве. Одно образование - "биолог", а другое - "эксперимент", теперь у одного биолога может быть много экспериментов, и каждый эксперимент может иметь много биологов.

Я знаю, как создавать модели и маршруты с помощью генератора командной строки:

 rails generate scaffold Biologist name:string expertise:string last_pub:text

Каков правильный способ добавления ассоциации? Должно ли идти и обновлять код модели после генерации? Для меня непонятно, добавлю ли я почтовое поколение ассоциации "own_to", как это отражается в схеме БД без миграции или чего-то еще? В приведенном выше примере, если "эксперимент" относится к "биологу", тогда в таблице "биолог" будет внешний ключ, как это будет создано, если я добавлю ассоциации в поколение классов модели. Я новичок в рельсах, поэтому извиняюсь, если это наивный вопрос.

4b9b3361

Ответ 1

Вам нужно создать перенос, чтобы добавить столбец biologist_id в таблицу experiments, а затем добавить отношение belongs_to :biologist в вашу модель experiments.

Подробнее здесь.

Ответ 2

Я думаю, что вы ищете что-то вроде следующего:

rails g scaffold Biologist experiment:references

Прочитайте эту статью Хосе Валимом, где он покажет вам, как это сделать, а также добавьте индексы db из командной строки:

Ответ 3

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

В общем случае, если вам нужно изменить отношения активной записи, вы должны сделать это в модели, используя отношения has_many или has_and_belongs_to_many.