module ActiveFedora::AutosaveAssociation
def save_belongs_to_association(reflection)
Saves the associated record if it's new or :autosave is enabled.
def save_belongs_to_association(reflection) association = association_instance_get(reflection.name) record = association && association.load_target if record && !record.destroyed? autosave = reflection.options[:autosave] if autosave && record.marked_for_destruction? record.destroy elsif autosave != false saved = record.save(:validate => !autosave) if record.new_record? || (autosave && record.changed_for_autosave?) if association.updated? self[reflection.name.to_s + "_id"] = record.id #TODO use primary_key here association.loaded! end saved if autosave end end end