【问题标题】:How to seed a new joining table in a Rails API db如何在 Rails API 数据库中播种新的连接表
【发布时间】:2019-02-04 15:03:48
【问题描述】:

我的 Rails API 数据库中有两个类,我刚刚为其创建了一个连接表。我之前已经播种了这两个类,所以它们有数据。现在我想从现有数据中为加入类播种 id。

这是前两个类的模型的样子:

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 和 stakeholder_id)的数据填充联合类。

  2. 如何在 Rails 控制台中检查 ProjectStakeholder 类中的值?

我已经研究并尝试了 Stackoverflow 的不同选项,但它们似乎不起作用。从我所见,Rails 指南也没有提供答案。将非常感谢一些想法!

【问题讨论】:

  • 你能说明你是如何为这两个表做种的吗?
  • 您没有提供有关从何处获取现有链接信息的任何信息。没有这个,Vasilisa 的回答就是我们能给你的尽可能多的提示。

标签: ruby-on-rails ruby database jointable


【解决方案1】:

您可以在创建后将涉众分配给项目

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

您可以通过不同的方式在控制台中查看:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-07-16
    • 2017-07-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-02-08
    • 1970-01-01
    相关资源
    最近更新 更多