Die Zeit, das zu beheben, war, als Sie den Import durchgeführt haben. Als jemand, der viele Migrationen durchführt, ist es eine meiner größten Sorgen, dass Leute ein Forum mit fehlerhafter Formatierung wie dieser starten. Es wäre ziemlich einfach gewesen, das Importskript zu korrigieren, und viel schwieriger, es nachträglich zu beheben, nachdem Sie gestartet sind. Damals hätte es vielleicht ein oder zwei Stunden gedauert, und jetzt ist es 2-5 Mal so viel Arbeit.
Ja, man könnte ein Skript schreiben, das die Dinge im Live-Forum bereinigt und entweder (beängstigend) die Bearbeitungen nicht beibehält (sodass es keine Bearbeitung und keine Benachrichtigungen gäbe) oder die Bearbeitung durchführt und ihm sagt, es soll nicht stoßen/benachrichtigen. Ich bin ziemlich sicher, dass ich das schon einmal gemacht habe. Sie würden so etwas tun:
fixes = Post.where("raw like '%something broken%'")
fixes.each do |p|
new_raw = p.raw.gsub!(some stuff)
PostRevisor.new(p).revise!(script_user, {raw: new_raw, edit_reason: 'post fixer!'}, {bypass_bump: true)
end
Enthält raw all diese HTML-Elemente?