Module: Torque::PostgreSQL::AutosaveAssociation

Defined in:
lib/torque/postgresql/autosave_association.rb

Defined Under Namespace

Modules: ClassMethods

Instance Method Summary collapse

Instance Method Details

#save_belongs_to_many_array(reflection) ⇒ Object



22
23
24
25
26
27
28
29
30
31
32
33
# File 'lib/torque/postgresql/autosave_association.rb', line 22

def save_belongs_to_many_array(reflection)
  save_collection_association(reflection)

  association = association_instance_get(reflection.name)
  return unless association

  klass_fk = reflection.foreign_key
  acpk = reflection.active_record_primary_key

  records = association.target.each_with_object(klass_fk)
  write_attribute(acpk, records.map(&:read_attribute).compact)
end