Je tente de trouver et de remplacer certaines images brisées restantes après notre migration de forum vers Discourse et j’ai eu beaucoup de succès (j’adore la commande remap !), mais elle ne trouve rien à remplacer pour ces exemples et je ne vois aucune erreur, pouvez-vous vérifier ?
Je dois le faire en deux passes car je dois conserver le contenu de la balise alt et reconstruire l’élément img autour. Cela échoue lors de la première passe remap :
Ah, attendez, certaines de ces images fonctionnent. S’agit-il de la fonctionnalité de pièces jointes de Discourse ? Y a-t-il une logique de rendu personnalisée en jeu, par opposition à ces chaînes HTML stockées dans la base de données ?
Mais celle-ci ne fonctionne pas. Je peux avoir le fichier dans un stockage blob cloud, donc je souhaiterais soit l’importer dans Discourse, soit simplement le référencer depuis le stockage blob :
raw est le champ où se trouve le texte que vous voyez dans l’éditeur. Ce que vous remplacez est ce que vous voyez si vous modifiez le post dans l’interface utilisateur, n’est-ce pas ? (cooked est le contenu qui a été traité et qui est affiché.)
Effectuer des opérations pour réécrire les posts. Cela pourrait suffire à vous rendre dangereux :
bps = Post.where("raw like '%//SOME-STRING%'")
bps.each do |post|
post.raw.gsub!(/OLD/,'NEW')
post.save
end
L’avantage par rapport à la tâche rake est que vous n’avez pas à gérer plusieurs niveaux d’échappement.