Sha256: cd0c360f8db3b365f6bf6fd2f47d8a8ab275c0b6a8e3a0eb2201ba86e897a334
Contents?: true
Size: 1.09 KB
Versions: 14
Compression:
Stored size: 1.09 KB
Contents
module ActiveRecord module AutosaveAssociation private def save_belongs_to_association(reflection) association = association_instance_get(reflection.name) return unless association && association.loaded? && !association.stale_target? record = association.load_target if record && !record.destroyed? autosave = reflection.options[:autosave] if autosave && record.marked_for_destruction? self[reflection.foreign_key] = nil record.destroy elsif autosave != false saved = record.save(validate: !autosave) if record.new_record? || (autosave && record.changed_for_autosave?) if association.updated? # CPK # association_id = record.send(reflection.options[:primary_key] || :id) association_id = reflection.options[:primary_key] ? record[reflection.options[:primary_key]] : record.id self[reflection.foreign_key] = association_id association.loaded! end saved if autosave end end end end end
Version data entries
14 entries across 14 versions & 1 rubygems