Class: ActiveRecord::Associations::BelongsToPolymorphicAssociation
- Inherits:
-
BelongsToAssociation
- Object
- Association
- SingularAssociation
- BelongsToAssociation
- ActiveRecord::Associations::BelongsToPolymorphicAssociation
- Defined in:
- lib/active_record/associations/belongs_to_polymorphic_association.rb
Overview
Active Record Belongs To Polymorphic Association
Instance Attribute Summary
Attributes inherited from Association
#disable_joins, #owner, #reflection
Instance Method Summary collapse
-
#klass ⇒ Object
:nodoc:.
- #saved_change_to_target? ⇒ Boolean
- #target_changed? ⇒ Boolean
- #target_previously_changed? ⇒ Boolean
Methods inherited from BelongsToAssociation
#decrement_counters, #decrement_counters_before_last_save, #default, #handle_dependency, #increment_counters, #inversed_from, #reset, #updated?
Methods inherited from SingularAssociation
#build, #force_reload_reader, #reader, #reset, #writer
Methods inherited from Association
#async_load_target, #collection?, #create, #create!, #extensions, #initialize, #initialize_attributes, #inversed_from, #inversed_from_queries, #load_target, #loaded!, #loaded?, #marshal_dump, #marshal_load, #reload, #remove_inverse_instance, #reset, #reset_negative_cache, #reset_scope, #scope, #set_inverse_instance, #set_inverse_instance_from_queries, #set_strict_loading, #stale_target?, #target, #target=
Constructor Details
This class inherits a constructor from ActiveRecord::Associations::Association
Instance Method Details
#klass ⇒ Object
:nodoc:
7 8 9 10 |
# File 'lib/active_record/associations/belongs_to_polymorphic_association.rb', line 7 def klass type = owner[reflection.foreign_type] type.presence && owner.class.polymorphic_class_for(type) end |
#saved_change_to_target? ⇒ Boolean
20 21 22 |
# File 'lib/active_record/associations/belongs_to_polymorphic_association.rb', line 20 def saved_change_to_target? super || owner.saved_change_to_attribute?(reflection.foreign_type) end |
#target_changed? ⇒ Boolean
12 13 14 |
# File 'lib/active_record/associations/belongs_to_polymorphic_association.rb', line 12 def target_changed? super || owner.attribute_changed?(reflection.foreign_type) end |
#target_previously_changed? ⇒ Boolean
16 17 18 |
# File 'lib/active_record/associations/belongs_to_polymorphic_association.rb', line 16 def target_previously_changed? super || owner.attribute_previously_changed?(reflection.foreign_type) end |