Думаю, подойдет любой из этих вариантов. Однако, если вы перенесете эти изображения на новый сайт, у них должен получиться тот же хеш SHA, и тогда существующие ссылки в темах автоматически заработают.
Может быть, стоит попробовать что-то вроде:
cat_id = 123
Topic.where(category_id: cat_id).each do |t|
Post.where(topic_id: t.id).each do |p|
p.cooked.match(image_url)....
puts(match)
end
end
И я думаю, что если вы сделаете это и вставите эти ссылки в любой пост на вашем сайте, они загрузят все эти изображения локально и создадут тот же хеш SHA, после чего эти ссылки заработают. Вы можете попробовать несколько вручную, чтобы проверить.
Сейчас глубокая ночь. Результаты могут отличаться.