Ответ 1
Вам нужно создать перенос, чтобы добавить столбец biologist_id
в таблицу experiments
, а затем добавить отношение belongs_to :biologist
в вашу модель experiments
.
Подробнее здесь.
Люди,
Я работаю над созданием приложения, в котором у меня есть два объекта в моем проблемном пространстве. Одно образование - "биолог", а другое - "эксперимент", теперь у одного биолога может быть много экспериментов, и каждый эксперимент может иметь много биологов.
Я знаю, как создавать модели и маршруты с помощью генератора командной строки:
rails generate scaffold Biologist name:string expertise:string last_pub:text
Каков правильный способ добавления ассоциации? Должно ли идти и обновлять код модели после генерации? Для меня непонятно, добавлю ли я почтовое поколение ассоциации "own_to", как это отражается в схеме БД без миграции или чего-то еще? В приведенном выше примере, если "эксперимент" относится к "биологу", тогда в таблице "биолог" будет внешний ключ, как это будет создано, если я добавлю ассоциации в поколение классов модели. Я новичок в рельсах, поэтому извиняюсь, если это наивный вопрос.
Вам нужно создать перенос, чтобы добавить столбец biologist_id
в таблицу experiments
, а затем добавить отношение belongs_to :biologist
в вашу модель experiments
.
Подробнее здесь.
Я думаю, что вы ищете что-то вроде следующего:
rails g scaffold Biologist experiment:references
Прочитайте эту статью Хосе Валимом, где он покажет вам, как это сделать, а также добавьте индексы db из командной строки:
Я бы сгенерировал модель для каждого из них, а затем создал таблицу соединений, так как у вас есть много, чтобы иметь много отношений. Если вы правильно следуете правилам, рельсы должны понимать отношения, данные вашей таблице соединений.
В общем случае, если вам нужно изменить отношения активной записи, вы должны сделать это в модели, используя отношения has_many или has_and_belongs_to_many.