Ruby on rails 如何进行多层查询有很多关系

Ruby on rails 如何进行多层查询有很多关系,ruby-on-rails,Ruby On Rails,我认为这是一个经典问题,但我不知道如何命名 假设我有三个模型A、B、C。 A有很多B,B有很多C。现在我有了A,我如何通过Rails中的一些B查询属于A的所有C 目前,我最好的解决方案是查询属于该A的所有Bs,然后提取一个包含所有Bs的id的数组,并发出另一个查询以获取该数组中所有Cs的B_id 但是我想知道是否有一个优雅的(或内置的)解决方案。您可以使用的许多功能来实现这种快捷方式:通过 有很多:通过协会也有助于建立 通过嵌套的“快捷方式”有许多关联。例如,如果 文档有许多节,一节有许多段落

我认为这是一个经典问题,但我不知道如何命名

假设我有三个模型A、B、C。 A有很多B,B有很多C。现在我有了A,我如何通过Rails中的一些B查询属于A的所有C

目前,我最好的解决方案是查询属于该A的所有Bs,然后提取一个包含所有Bs的id的数组,并发出另一个查询以获取该数组中所有Cs的B_id


但是我想知道是否有一个优雅的(或内置的)解决方案。

您可以使用
的许多功能来实现这种快捷方式:通过

有很多:通过协会也有助于建立 通过嵌套的“快捷方式”有许多关联。例如,如果 文档有许多节,一节有许多段落,您可以 有时,我们希望得到一个简单的集合中的所有段落 文件。您可以这样设置:

class文档
class Document < ActiveRecord::Base
  has_many :sections
  has_many :paragraphs, through: :sections
end

class Section < ActiveRecord::Base
  belongs_to :document
  has_many :paragraphs
end

class Paragraph < ActiveRecord::Base
  belongs_to :section
end