类:Mongoid::Association::Proxy
Overview
此类是所有关联代理对象的超类,并包含所有这些对象的共同行为。
常量摘要折叠
- KEEPER_METHODS =
防止未定义的特定方法
%i[ 发送 object_id 等于? respond_to? respond_to_missing? 点击 public_send extend_proxy extend_proxies ].冻结
实例属性摘要折叠
-
# _association ⇒ 对象
返回属性 _association 的值。
-
# _base ⇒ 对象
关联基础的模型实例。
-
# _target ⇒ 对象
针对关联目标的一对一关联的模型实例,或一对多关联的模型实例大量。
类方法摘要折叠
-
。 apply_ordering (criteria,association)→ Criteria
如果在关联中定义了条件,则将排序应用于条件。
实例方法摘要折叠
-
#extend_proxies (*extension) ⇒ 对象
允许扩展为数组并扩展每个模块。
-
#initialize (base, target,association) {|_self| ... } ⇒ 代理
构造函数
设置目标和关联元数据属性。
-
# klass ⇒ 类
从关联中获取类,如果不存在关联,则返回 nil。
-
# reset_unloaded ⇒ 对象
重置关联代理内的条件。
-
# 可替换⇒ 对象
关联代理的默认可替换对象是目标的克隆。
包含在封送处理中的方法
构造函数详情
#initialize (base, target,association) {|_self| ... } ⇒代理
设置目标和关联元数据属性。
60 61 62 63 64 |
# File 'lib/mongoid/association/proxy.rb', line 60 def 初始化(基础, 目标, 关联) @_base, @_target, @_association = 基础, 目标, 关联 产量(self) if block_given? extend_proxies(关联.扩展) if 关联.扩展 end |
实例属性详细信息
# _association ⇒对象
返回属性 _association 的值。
41 42 43 |
# File 'lib/mongoid/association/proxy.rb', line 41 def _association @_association end |
# _base ⇒对象
关联基础的模型实例。
示例,如果一个帖子嵌入了 _many 评论,则 _base 是该帖子模型的一个特定实例。
39 40 41 |
# File 'lib/mongoid/association/proxy.rb', line 39 def _base @_base end |
# _target ⇒对象
针对关联目标的一对一关联的模型实例,或一对多关联的模型实例大量。
示例,如果一个帖子嵌入了许多评论,则 _target 是嵌入在特定帖子中的评论模型的大量。
48 49 50 |
# File 'lib/mongoid/association/proxy.rb', line 48 def _target @_target end |
类方法详细信息
。 apply_ordering (criteria,association)→ Criteria
如果在关联中定义了条件,则将排序应用于条件。
206 207 208 |
# File 'lib/mongoid/association/proxy.rb', line 206 def apply_ordering(条件, 关联) 关联.来自一个购物车应用的order文档, ? 条件.order_by(关联.来自一个购物车应用的order文档,) : 条件 end |
实例方法详细信息
#extend_proxies (*extension) ⇒对象
允许扩展为大量并扩展每个模块
67 68 69 |
# File 'lib/mongoid/association/proxy.rb', line 67 def extend_proxies(*扩展) 扩展.展平.每 { |ext| extend_proxy(ext) } end |
# klass ⇒类
从关联中获取类,如果不存在关联,则返回 nil。
77 78 79 |
# File 'lib/mongoid/association/proxy.rb', line 77 def klass _association&。klass end |
# reset_unloaded ⇒对象
重置关联代理内的条件。 由多对多关联使用,以使根本的id大量保持同步。
86 87 88 |
# File 'lib/mongoid/association/proxy.rb', line 86 def reset_unloaded _target.reset_unloaded(条件) end |
# 可替换⇒对象
关联代理的默认可替换对象是目标的克隆。
97 98 99 |
# File 'lib/mongoid/association/proxy.rb', line 97 def 可替换的 _target end |