类:Mongoid::Association::One

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

Overview

这是一对一关系的超类,定义了这些代理的常见行为。

常量摘要

Proxy继承的常量

Proxy::KEEPER_METHODS

实例属性摘要

Proxy继承的属性

#_association#_base#_target

实例方法摘要折叠

Proxy继承的方法

apply_ordering#extend_proxies#initialize#klass#reset_unloaded#substitutable

包含在封送处理中的方法

#marshal_dump#marshal_load

构造函数详情

该类从Mongoid::Association::Proxy继承了一个构造函数

实例方法详细信息

# __evolve_object_id__对象

将代理文档发展为对象 ID。

例子:

改进代理文档。

proxy.__evolve_object_id__

返回:

  • ( Object )

    代理文档的 ID。



49
50
51
# File 'lib/mongoid/association/one.rb', line 49

def __evolve_object_id__
  _target._id
end

# cleartrue | false

清除此关系 — 与对文档调用 #delete 相同。

例子:

清除关系。

relation.clear

返回:

  • ( true | false )

    如果删除成功。



17
18
19
# File 'lib/mongoid/association/one.rb', line 17

def 清除
  _target.删除
end

# in_memory数组< Document >

获取关系中已加载到内存中的所有文档。

例子:

获取内存中的文档。

relation.in_memory

返回:

  • ( Array< Document > )

    内存中的文档。



27
28
29
# File 'lib/mongoid/association/one.rb', line 27

def in_memory
  [ _target ]
end

# respond_to? (name, include_private = false) ⇒ true | false

由于method_missing被覆盖,我们也应该覆盖它。

例子:

代理是否响应该方法?

relation.respond_to?(:name)

参数:

  • 名称 (符号)

    方法名称。

返回:

  • ( true | false )

    如果代理响应该方法。



39
40
41
# File 'lib/mongoid/association/one.rb', line 39

def respond_to?(名称, include_private = false)
  _target.respond_to?(名称, include_private) || 
end