无法删除包含2k话题的标签

我认为有两种方法可以从关联的主题中删除这些标签,一种比另一种“温和”。最好先进行备份——在此处了解有关执行 Rails 命令的信息:https://meta.discourse.org/t/administrative-bulk-operations/118349。


  1. 对于每个标签,进入 Rails 控制台:
cd /var/discourse
./launcher enter app
rails c
  1. 查找并从其主题中删除标签
TAG_name = "your_tag_name" # 替换为你的标签名称
TAG = Tag.find_by(name: tag_name)
Topic.joins(:tags).where(tags: { name: tag_name }).each do |topic|
  topic.tags.delete(tag)
  topic.save
end
  1. 对第二个标签重复
  2. 然后你应该可以通过 UI 删除这些标签

替代的更快方法(风险更高)(我个人会选择上述方法)

但是,在执行第 2 步和第 4 步之后,我认为你也可以在进入 Rails 控制台后对每个标签执行此操作。

t = Tag.find_by_name('your_tag_name')
t.destroy!
3 个赞