Я создаю свое первое приложение на Rails, и теперь я нахожусь в точке, где мне нужно переместить изображения на S3 вместо того, чтобы предоставлять версию с горячей ссылкой из стороннего источника.
У меня есть мои модели настроены следующим образом.
class Image < ApplicationRecord
belongs_to :imageable, polymorphic: true
end
class Episode < ApplicationRecord
has_many :images, as: :imageable
Ограничения
- Каждая запись в таблице
images
(из модели изображения) имеет столбец external_url
- Я не хочу загружать изображения напрямую, когда создается новый эпизод, так как его слишком много
То, что я хочу, хочу
- Использовать изображение в шаблонах, если изображение еще не на S3, я загружаю изображение через URL в столбце
external_url
и помещаю его на S3 - Изменить размер изображения (с помощью
.variants
я думаю) и помещаю изображение с измененным размером на S3 - В следующий раз, когда кто-то открывает страницу, изображение подается с S3 без изменения размера
Вопрос
Я вижу много руководств / учебных пособий / сообщений в блоге о загрузке изображений и последующей загрузке их на S3, но не о загрузках по требованию с URL-адресов, которые находятся в базе данных.
Какой обычный способ сделать это? Буду признателен за любые указатели.
Спасибо!