Module: ActiveRecord::Associations
- Extended by:
- ActiveSupport::Autoload, ActiveSupport::Concern
- Included in:
- Base
- Defined in:
- lib/active_record/associations.rb,
lib/active_record/associations/preloader.rb,
lib/active_record/associations/association.rb,
lib/active_record/associations/alias_tracker.rb,
lib/active_record/associations/join_dependency.rb,
lib/active_record/associations/collection_proxy.rb,
lib/active_record/associations/association_scope.rb,
lib/active_record/associations/foreign_association.rb,
lib/active_record/associations/has_one_association.rb,
lib/active_record/associations/through_association.rb,
lib/active_record/associations/has_many_association.rb,
lib/active_record/associations/singular_association.rb,
lib/active_record/associations/preloader/association.rb,
lib/active_record/associations/belongs_to_association.rb,
lib/active_record/associations/collection_association.rb,
lib/active_record/associations/join_dependency/join_base.rb,
lib/active_record/associations/join_dependency/join_part.rb,
lib/active_record/associations/has_one_through_association.rb,
lib/active_record/associations/has_many_through_association.rb,
lib/active_record/associations/preloader/through_association.rb,
lib/active_record/associations/join_dependency/join_association.rb,
lib/active_record/associations/belongs_to_polymorphic_association.rb
Overview
See ActiveRecord::Associations::ClassMethods for documentation.
Defined Under Namespace
Modules: Builder, ClassMethods, ForeignAssociation, ThroughAssociation Classes: AliasTracker, Association, AssociationScope, BelongsToAssociation, BelongsToPolymorphicAssociation, CollectionAssociation, CollectionProxy, HasManyAssociation, HasManyThroughAssociation, HasOneAssociation, HasOneThroughAssociation, JoinDependency, Preloader, SingularAssociation
Class Method Summary collapse
Instance Method Summary collapse
-
#association(name) ⇒ Object
Returns the association instance for the given name, instantiating it if it doesn’t already exist.
-
#association_cached?(name) ⇒ Boolean
:nodoc:.
-
#initialize_dup ⇒ Object
:nodoc:.
-
#reload ⇒ Object
:nodoc:.
Class Method Details
.eager_load! ⇒ Object
302 303 304 305 |
# File 'lib/active_record/associations.rb', line 302 def self.eager_load! super Preloader.eager_load! end |
Instance Method Details
#association(name) ⇒ Object
Returns the association instance for the given name, instantiating it if it doesn’t already exist
308 309 310 311 312 313 314 315 316 317 318 319 320 |
# File 'lib/active_record/associations.rb', line 308 def association(name) #:nodoc: association = association_instance_get(name) if association.nil? unless reflection = self.class._reflect_on_association(name) raise AssociationNotFoundError.new(self, name) end association = reflection.association_class.new(self, reflection) association_instance_set(name, association) end association end |
#association_cached?(name) ⇒ Boolean
:nodoc:
322 323 324 |
# File 'lib/active_record/associations.rb', line 322 def association_cached?(name) # :nodoc: @association_cache.key?(name) end |
#initialize_dup ⇒ Object
:nodoc:
326 327 328 329 |
# File 'lib/active_record/associations.rb', line 326 def initialize_dup(*) # :nodoc: @association_cache = {} super end |
#reload ⇒ Object
:nodoc:
331 332 333 334 |
# File 'lib/active_record/associations.rb', line 331 def reload(*) # :nodoc: clear_association_cache super end |