Возможно ли отменить опцию «Загружать удалённые изображения локально»?
Я отключил её, но у меня много постов, в которые я добавил ссылку на новость, и удалённое изображение было загружено на мой форум, как и ожидалось. Однако, возможно, это не лучшая стратегия в долгосрочной перспективе. Большинство новостей мы забываем уже на следующий день, так зачем хранить изображения долгое время?..
В любом случае, я отключил эту функцию, затем выполнил rake posts:rebake, надеясь, что изображения onebox вернутся к исходной ссылке. Но ничего не вышло. Изображения onebox по-прежнему используют загруженное изображение с форума вместо исходной ссылки.
Есть ли способ заставить форум «забыть» ранее загруженные изображения? Я думал, что ребейк заставит onebox использовать исходное изображение.
Не так-то просто… URL-адреса изображений заменяются на маркдаун-разметку для локального изображения. Вам нужно будет откатиться к версии до того, как URL был заменён на изображение, и через некоторое время Discourse удалит изображения, на которые больше нет ссылок в постах.
Большинство сайтов действительно не хотят видеть битые изображения, поэтому вариант с загрузкой используют чаще всего.
Вы можете найти их с помощью
PostRevision.where("modifications like '%downloaded local copies of images%'")
Написание кода для отката всех таких постов оставляем в качестве упражнения для читателя.
Это должно быть всего пара строк кода, но я не знаю, какие именно, не посмотрев исходный код.