diff --git a/app/models/concerns/subjectable.rb b/app/models/concerns/subjectable.rb index c18c23290924d0d33d32192fcd3e3072b8412e62..58b37ca250fbb340f1ae25e9711496bcc6d601a9 100644 --- a/app/models/concerns/subjectable.rb +++ b/app/models/concerns/subjectable.rb @@ -45,4 +45,11 @@ module Subjectable SubjectRelation.where(subject: subject, subjectable: self).destroy_all end end + + def update_subjects(ids: []) + subjectable = self + old_ids = subjectable.subjects.map { |su| su.id } + add_subjects(ids: ids - old_ids) + remove_subjects(ids: old_ids - ids) + end end