模块: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 document 添加关联行为。添加 #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
宏中包含的方法
构建者中包含的方法
define_builder!、define_creator!
包含的方法取决于
#apply_destroy_dependencies! , define_dependency! ,验证!
访问器中包含的方法
#__build__、#create_relation、define_builder!、define_creator!、define_existence_check!、define_getter!、define_ids_getter!、define_ids_setter!、define_setter!、#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 的值。
49 50 51 |
# File 'lib/mongoid/association.rb', line 49 def _association @_association end |
实例方法详细信息
#association_name ⇒符号
获取此document的关联名称。如果未定义关联,则会引发错误。
96 97 98 99 100 |
# File 'lib/mongoid/association.rb', line 96 def Association_name 提高 Errors::NoMetadata.new(self.class.名称) 除非 _association _association.名称 end |
# embedded? ⇒ true | false
确定文档本身是否通过适当渠道嵌入到另一个文档中。 (如果有父文档。)
63 64 65 |
# File 'lib/mongoid/association.rb', line 63 def @embedded ||= (循环 ? _parent.现在? : self.class.) end |
# embedded_many? ⇒ true | false
确定文档是否是 embeds_many 关联的一部分。
73 74 75 |
# File 'lib/mongoid/association.rb', line 73 def _association && _association.is_a?(关联::Embedded::嵌入许多) end |
# embedded_one? ⇒ true | false
确定文档是否是 embeds_one 关联的一部分。
83 84 85 |
# File 'lib/mongoid/association.rb', line 83 def _association && _association.is_a?(关联::Embedded::嵌入一个) end |
# referenced_many? ⇒ true | false
确定文档是否是references_many 关联的一部分。
108 109 110 |
# File 'lib/mongoid/association.rb', line 108 def referenced_many? _association && _association.is_a?(关联::引用::有很多) end |
# referenced_one? ⇒ true | false
确定文档是否是references_one关联的一部分。
118 119 120 |
# File 'lib/mongoid/association.rb', line 118 def referenced_one? _association && _association.is_a?(关联::引用::有一个) end |
# reload_relations ⇒哈希
遍历已加载关联并重新加载的便捷方法。
129 130 131 132 133 134 135 |
# File 'lib/mongoid/association.rb', line 129 def reload_relations 关系.each_pair do |名称, | 来年 除非 instance_variable_defined?(" @_ #{ name } ") remove_instance_variable(" @_ #{ name } ") if _parent.nil? || instance_variable_get(" @_ #{ name } ") != _parent end end |