|
|
|
@ -8,16 +8,15 @@ class Admins::SubjectSettingsController < Admins::BaseController
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
def update
|
|
|
|
|
if params[:sub_disciplines]
|
|
|
|
|
sub_ids = params[:sub_disciplines].reject(&:blank?).map(&:to_i)
|
|
|
|
|
old_sub_ids = current_subject.sub_discipline_containers.pluck(:sub_discipline_id)
|
|
|
|
|
new_ids = sub_ids - old_sub_ids
|
|
|
|
|
delete_ids = old_sub_ids - sub_ids
|
|
|
|
|
sub_params = new_ids.map{|sub| {sub_discipline_id: sub}}
|
|
|
|
|
ActiveRecord::Base.transaction do
|
|
|
|
|
current_subject.sub_discipline_containers.where(sub_discipline_id: delete_ids).destroy_all
|
|
|
|
|
current_subject.sub_discipline_containers.create!(sub_params)
|
|
|
|
|
end
|
|
|
|
|
sub_discipline_ids = params[:sub_disciplines] || []
|
|
|
|
|
sub_ids = sub_discipline_ids.reject(&:blank?).map(&:to_i)
|
|
|
|
|
old_sub_ids = current_subject.sub_discipline_containers.pluck(:sub_discipline_id)
|
|
|
|
|
new_ids = sub_ids - old_sub_ids
|
|
|
|
|
delete_ids = old_sub_ids - sub_ids
|
|
|
|
|
sub_params = new_ids.map{|sub| {sub_discipline_id: sub}}
|
|
|
|
|
ActiveRecord::Base.transaction do
|
|
|
|
|
current_subject.sub_discipline_containers.where(sub_discipline_id: delete_ids).destroy_all
|
|
|
|
|
current_subject.sub_discipline_containers.create!(sub_params)
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|