From 11b6bfa457530a84992a3999bf0c91ea4e5ebbdf Mon Sep 17 00:00:00 2001 From: Ko Nagase Date: Tue, 27 Aug 2024 00:41:27 +0900 Subject: [PATCH] Guard empty insert_all case --- app/models/member_role.rb | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/app/models/member_role.rb b/app/models/member_role.rb index 233aad2ae7e..f9819d0176a 100755 --- a/app/models/member_role.rb +++ b/app/models/member_role.rb @@ -82,14 +82,20 @@ def add_role_to_subprojects new_member_attrs << child_member.attributes.except('id') end end - new_member_ids = Member.insert_all!(new_member_attrs).to_a.pluck("id") + if new_member_attrs.present? + new_member_ids = Member.insert_all!(new_member_attrs).to_a.pluck("id") + else + new_member_ids = [] + end all_member_ids = existing_member_ids + new_member_ids - member_role_attrs = [] - all_member_ids.each do |member_id| - member_role = MemberRole.new(:member_id => member_id, :role_id => role_id, :inherited_from => id) - member_role_attrs << member_role.attributes.except('id') + if all_member_ids.present? + member_role_attrs = [] + all_member_ids.each do |member_id| + member_role = MemberRole.new(:member_id => member_id, :role_id => role_id, :inherited_from => id) + member_role_attrs << member_role.attributes.except('id') + end + MemberRole.insert_all!(member_role_attrs) end - MemberRole.insert_all!(member_role_attrs) end end