From f6517c52c917a653c3b648c521a0df621457a535 Mon Sep 17 00:00:00 2001 From: miteruzo Date: Sat, 7 Mar 2026 09:36:30 +0900 Subject: [PATCH] =?UTF-8?q?#106=20=E3=82=A8=E3=83=A9=E3=83=BC=E5=AF=BE?= =?UTF-8?q?=E5=BF=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- backend/lib/tasks/sync_nico.rake | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/backend/lib/tasks/sync_nico.rake b/backend/lib/tasks/sync_nico.rake index dd1b7b3..9d1b2af 100644 --- a/backend/lib/tasks/sync_nico.rake +++ b/backend/lib/tasks/sync_nico.rake @@ -93,10 +93,15 @@ namespace :nico do sync_post_tags!(post, [Tag.tagme.id, Tag.bot.id, Tag.niconico.id, Tag.video.id]) end - kept_ids = post.tags.pluck(:id).to_set - kept_non_nico_ids = post.tags.not_nico.pluck(:id).to_set + post_tags = post.tags + # 既存のタグ Id. 集合 + kept_ids = post_tags.pluck(:id).to_set + # うち内部タグ Id. 集合 + kept_non_nico_ids = post_tags.not_nico.pluck(:id).to_set + # 記載すべき外部タグ Id. のリスト desired_nico_ids = [] + # 記載すべき内部タグ Id. のリスト desired_non_nico_ids = [] datum['tags'].each do |raw| @@ -114,7 +119,7 @@ namespace :nico do if deerjikist desired_non_nico_ids << deerjikist.tag_id desired_nico_ids << deerjikist.tag_id - elsif !(Tag.where(id: desired_all_ids).where(category: :deerjikist).exists?) + elsif !(Tag.where(id: kept_non_nico_ids).where(category: :deerjikist).exists?) desired_non_nico_ids << Tag.no_deerjikist.id desired_nico_ids << Tag.no_deerjikist.id end