类:Mongoid::Association::Eager

继承:
对象
  • 对象
显示全部
定义于:
lib/mongoid/association/eager.rb

Overview

预先加载预加载函数的基类。

实例方法摘要折叠

构造函数详情

#initialize (associations, Docs ) ⇒基础

实例化急切加载类。

例子:

创建属于预加载的新预加载器。

BelongsTo.new(association, parent_docs)

参数:



19
20
21
22
23
# File 'lib/mongoid/association/eager.rb', line 19

def 初始化(关联, docs)
  @associations = 关联
  @docs = docs
  @grouped_docs = {}
end

实例方法详细信息

# run数组

运行预加载器。

例子:

将关联预加载到文档中。

loader.run

返回:

  • ( Array )

    给出的文档列表。



31
32
33
34
35
36
37
38
# File 'lib/mongoid/association/eager.rb', line 31

def 运行
  @loaded = []
  while shift_association
    预加载
    @loaded << @docs.收集 { |d| d.发送(@association.名称) if d.respond_to?(@association.名称) }
  end
  @loaded.展平
end