Как заполнить новую присоединительную таблицу в базе данных Rails API - PullRequest
0 голосов
/ 04 февраля 2019

В моей базе данных Rails API есть два класса, для которых я только что создал таблицу соединений.Ранее я посеял оба класса, чтобы у них были данные.Теперь я хотел бы заполнить присоединяющийся класс идентификаторами из существующих данных.

Вот как выглядят модели для первых двух классов:

class Stakeholder < ApplicationRecord
  has_many :project_stakeholders
  has_many :projects, through: :project_stakeholders
end

class Project < ApplicationRecord
  has_many :project_stakeholders
  has_many :stakeholders, through: :project_stakeholders
end

Это модель для моего присоединяющегося класса:

class ProjectStakeholder < ApplicationRecord
  belongs_to :project
  belongs_to :stakeholder
end

Теперь у меня есть двавопросы:

  1. Как заполнить объединенный класс данными из двух первых классов (project_id и credholder_id).

  2. Как я могу зарегистрироватьсяконсоль Rails для значений в классе ProjectStakeholder?

Я исследовал и попробовал другие варианты из Stackoverflow, но, похоже, они не работают.Направляющие Rails также не дают ответа, из того, что я видел.Был бы очень признателен за некоторые идеи!

1 Ответ

0 голосов
/ 04 февраля 2019

Вы можете просто назначить заинтересованные стороны для проекта после создания

Project.first.stakeholders << Stakeholder.limit(5)
Project.second.stakeholders << Stakeholder.limit(5).offset(5)

Вы можете проверить это в консоли различными способами:

Project.first.stakeholders.pluck(:id)
ProjectStakeholder.first
...