Rails:各种模型之间的许多关系

时间:2017-03-14 13:54:57

标签: ruby-on-rails ruby

在Rails(4或5)中是否有可能在模型之间设置这种关系:

  • 模型A有很多模型B
  • 模型B有很多模型B

我不知道这些关系是否有好方法,或者更改模型数据是否更好。

1 个答案:

答案 0 :(得分:1)

第一种关系是标准的一对多(甚至多对多)关系,第二种关系是"模型B有许多模型B"适合Self Joins

  

在设计数据模型时,您有时会找到一个应该的模型   与自己有关系。例如,您可能希望存储所有内容   员工在单个数据库模型中,但能够跟踪   经理和下属之间的关系。这个情况   可以使用自加入关联建模:

class Employee < ApplicationRecord
  has_many :subordinates, class_name: "Employee",
                          foreign_key: "manager_id"

  belongs_to :manager, class_name: "Employee"
end