模块:Mongoid::Association
- 扩展方式:
- ActiveSupport::Concern
- 包含在:
- 可组合
- 定义于:
lib/mongoid/association.rb 、 lib/mongoid/association/one.rb、 lib/mongoid/association/many.rb、 lib/mongoid/association/eager.rb、 lib/mongoid/association/proxy.rb、 lib/ mongoid/association/macros.rb、 lib/mongoid/association/nested.rb、 lib/mongoid/association/options.rb、 lib/mongoid/association/bindable.rb、 lib/mongoid/association/ 构建者.rb、 lib/ mongoid/association/accessors.rb、 lib/mongoid/association/depending.rb、 lib/mongoid/association/relatable.rb、 lib/mongoid/association/nested/one.rb、 lib/mongoid/association/marshalable.rb、 lib/mongoid/association/nested/many.rb、lib/mongoid/association/reflections.rb、lib/mongoid/association/constrainable.rb、lib/mongoid/association/eager_loadable.rb、lib/mongoid/association/embedded/ ager.rb、lib/mongoid/association/embedded/linear.rb、lib/mongoid/association/embedded/batchable.rb、lib/mongoid/association/referenced/has_one.rb、lib/mongoid/association/embedded/embeds_one。 rb, lib/mongoid/association/referenced/has_many.rb, lib/mongoid/associati on/referenced/syncable.rb, lib/mongoid/association/embedded/embedded_in.rb, lib/mongoid/association/embedded/embeds_many.rb, lib/mongoid/association/referenced/auto_save.rb, lib/mongoid/association/ referenced/belongs_to.rb, lib/mongoid/association/nested/nested_buildable.rb, lib/mongoid/association/referenced/counter_cache.rb, lib/mongoid/association/referenced/has_one/eager.rb, lib/mongoid/association/ referenced/has_one/proxy.rb、 lib/mongoid/association/embedded/embeds_one/proxy.rb、 lib/mongoid/association/referenced/has_many/eager.rb、 lib/mongoid/association/referenced/has_many/proxy.rb、 lib/mongoid/association/embedded/embedded_in/proxy.rb, lib/mongoid/association/embedded/embeds_many/proxy.rb, lib/mongoid/association/referenced/has_one/bounding.rb, lib/mongoid/association/embedded/ embeds_one/ Binding.rb, lib/mongoid/association/referenced/belongs_to/eager.rb, lib/mongoid/association/referenced/belongs_to/proxy.rb, lib/mongoid/association/referenced/has_many/bounding.rb, lib/ mongoid/as lib/mongoid/association/embedded/embeds_many/bounding.rb、lib/mongoid/association/referenced/has_one/buildable.rb、lib/mongoid/association/embedded/embeds_one/buildable。 rb, lib/mongoid/association/referenced/belongs_to/bounding.rb, lib/mongoid/association/referenced/has_many/buildable.rb, lib/mongoid/association/embedded/embedded_in/buildable.rb, lib/mongoid/association/ embedded/embeds_many/buildable.rb, lib/mongoid/association/referenced/has_many/enumerable.rb, lib/mongoid/association/referenced/belongs_to/buildable.rb, lib/mongoid/association/referenced/has_and_belongs_to_many.rb, lib/ mongoid/association/referenced/with_poly态_criteria.rb、lib/mongoid/association/referenced/has_and_belongs_to_many/eager.rb、lib/mongoid/association/referenced/has_and_belongs_to_many/proxy.rb、lib/mongoid/association/referenced/has_and_belongs_to_many/绑定。 rb, lib/mongoid/association/referenced/has_and_belongs_to_many/buildable.rb
Overview
Mixin 模块,用于向 Mongoid文档添加关联行为。 添加 #embedded? 等方法 表示文档的相对关联状态。
在命名空间下定义
模块: 访问 器、 Bindable 、 Builders 、 Constrainable 、 Dependency、EagerLoadable 、 Embedded 、 宏 、 Marshalable 、 Nested 、 Options 、 Referenced 、 Reflections 、 Relatable Classes: Eager 、 Many 、 One 、 Proxy
常量摘要折叠
- MACRO_MAPPING =
将宏映射到相应的关联类。
{ embeds_one: 关联::Embedded::嵌入一个, embeds_many: 关联::Embedded::嵌入许多, embedded_in: 关联::Embedded::EmbeddedIn, has_one: 关联::引用::有一个, has_many: 关联::引用::有很多, has_and_belongs_to_many: 关联::引用::拥有并且属于许多, belongs_to: 关联::引用::属于关联, }.冻结
常量包含在取决于
实例属性摘要折叠
-
# _association ⇒ 对象
返回属性 _association 的值。
实例方法摘要折叠
-
#association_name ⇒ 符号
获取此文档的关联名称。
-
# embedded? ⇒ true | false
确定文档本身是否通过适当渠道嵌入到另一个文档中。
-
# embedded_many? ⇒ true | false
确定文档是否是 embeds_many 关联的一部分。
-
# embedded_one? ⇒ true | false
确定文档是否是 embeds_one 关联的一部分。
-
# referenced_many? ⇒ true | false
确定文档是否是references_many 关联的一部分。
-
# referenced_one? ⇒ true | false
确定文档是否是references_one关联的一部分。
-
# reload_relations ⇒ 哈希
遍历已加载关联并重新加载的便捷方法。
反射中包含的方法
#reflect_on_all_association 、 #reflect_on_association
宏中包含的方法
包含的方法取决于
#apply_destroy_dependencies! , define_dependency! ,验证!
访问器中包含的方法
#__build__ 、 #create_relation 、 #reset_relation_criteria 、 #set_relation
Referenced::Syncable中包含的方法
#_syncable? 、 #_synced 、 #_synced? 、 #remove_inverse_keys 、 #update_inverse_keys
Referenced::CounterCache中包含的方法
define_callbacks! , #reset_counters
Referenced::AutoSave中包含的方法
#__autosaving__, #autosaved?, #changed_for_autosave?, define_autosave!
实例属性详细信息
# _association ⇒对象
返回属性 _association 的值。
51 52 53 |
# File 'lib/mongoid/association.rb', line 51 def _association @_association end |
实例方法详细信息
#association_name ⇒符号
获取此文档的关联名称。 如果未定义关联
an error will be raised.
98 99 100 101 |
# File 'lib/mongoid/association.rb', line 98 def Association_name 提高 Errors::NoMetadata.new(self.class.名称) 除非 _association _association.名称 end |
# embedded? ⇒ true | false
确定文档本身是否通过适当渠道嵌入到另一个文档中。 (如果有父文档。)
65 66 67 |
# File 'lib/mongoid/association.rb', line 65 def @embedded ||= (循环 ? _parent.现在? : self.class.) end |
# embedded_many? ⇒ true | false
确定文档是否是 embeds_many 关联的一部分。
75 76 77 |
# File 'lib/mongoid/association.rb', line 75 def _association && _association.is_a?(关联::Embedded::嵌入许多) end |
# embedded_one? ⇒ true | false
确定文档是否是 embeds_one 关联的一部分。
85 86 87 |
# File 'lib/mongoid/association.rb', line 85 def _association && _association.is_a?(关联::Embedded::嵌入一个) end |
# referenced_many? ⇒ true | false
确定文档是否是references_many 关联的一部分。
109 110 111 |
# File 'lib/mongoid/association.rb', line 109 def referenced_many? _association && _association.is_a?(关联::引用::有很多) end |
# referenced_one? ⇒ true | false
确定文档是否是references_one关联的一部分。
119 120 121 |
# File 'lib/mongoid/association.rb', line 119 def referenced_one? _association && _association.is_a?(关联::引用::有一个) end |
# reload_relations ⇒哈希
遍历已加载关联并重新加载的便捷方法。
130 131 132 133 134 135 136 137 138 |
# File 'lib/mongoid/association.rb', line 130 def reload_relations 关系.each_pair do |名称, | if instance_variable_defined?(" @_ #{ name } ") if _parent.nil? || instance_variable_get(" @_ #{ name } ") != _parent remove_instance_variable(" @_ #{ name } ") end end end end |