Rails ActiveStorage извлекает изображение из URL, затем изменяет размер и загружает при первом попадании - PullRequest
0 голосов
/ 14 февраля 2020

Я создаю свое первое приложение на 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-адресов, которые находятся в базе данных.

Какой обычный способ сделать это? Буду признателен за любые указатели.

Спасибо!

...