类:Mongoid::Association::Eager
- 继承:
-
对象
- 对象
- Mongoid::Association::Eager
- 定义于:
- lib/mongoid/association/eager.rb
Overview
预先加载预加载函数的基类。
直接已知子类
Referenced::BelongsTo::Eager、Referenced::HasAndBelongsToMany::Eager、Referenced::HasMany::Eager、Referenced::HasOne::Eager
实例方法摘要折叠
-
#initialize(associations, docs, use_lookup = false, 管道 = []) ⇒ 基础
构造函数
实例化急切加载类。
-
# run ⇒ 数组
运行预加载器。
构造函数详情
#initialize(associations, docs, use_lookup = false, 管道 = []) ⇒ 基础
实例化急切加载类。
21 22 23 24 25 26 27 |
# File 'lib/mongoid/association/eager.rb', line 21 def 初始化(关联, docs, use_lookup = false, 管道 = []) @associations = 关联 @docs = docs @grouped_docs = {} @use_lookup = use_lookup 管道 = 管道 end |
实例方法详细信息
# run ⇒数组
运行预加载器。
35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 |
# File 'lib/mongoid/association/eager.rb', line 35 def 运行 @loaded = [] if @use_lookup preload_with_lookup @loaded = @docs return @loaded.展平 end while shift_association 预加载 @loaded << @docs.收集 { |d| d.发送(@association.名称) if d.respond_to?(@association.名称) } end @loaded.展平 end |