如何像在 CakePHP 中一样使用递归查询在 RoR 中进行查找

How to make a find in RoR with recursive-query like in CakePHP

所以,我有接下来的 4 个模型:

class Payment < ActiveRecord::Base
   has_many :orders
end

class Order < ActiveRecord::Base
   has_many :folders
   belongs_to :payment
end

class Folder < ActiveRecord::Base
   has_many :documents
   belongs_to :order
end

class Document < ActiveRecord::Base
   belongs_to :folder
end

如何找到一笔付款并检索与该付款相关的所有订单以及这些订单的所有文件夹和这些文件夹的所有文档。在 CakePHP 中,在参数中设置递归就足够了,但在 RoR 中我不知道该怎么做,我必须使用 gem 吗?或者它有其他名字?

您可以将 .includes() 与多个嵌套模型一起使用,例如:

Payment.includes({orders: [{folders: :documents}]}).find(...)