Как мне получить локальный путь к Active Blob? - PullRequest
0 голосов
/ 26 сентября 2019

Я собрал свое приложение на Rails и решил, что буду использовать Active Storage (AS).Затем я понял, что AS сбрасывает все ваши файлы в корень вашего хранилища.Мне нужно разделить это между клиентами, а также я бы предпочел организовать их на модельной основе и т. Д. Carrierwave (CW) может сделать это из коробки.Я собираюсь создать задачу rake для переноса этих старых вложений.

Ключ блоба AS - это имя файла, хранящееся локально, за исключением того, что на моем локальном компьютере оно хранится так:

/storage/HR/mw/HRmWZZNk4wd7dD1nt9iUbi1n

ив моем хранилище, совместимом с S3:

/HRmWZZNk4wd7dD1nt9iUbi1n

Кажется, что нет встроенного метода для возврата локального пути к файлу AS (который имеет CW).Я знаю, что могу на лету построить локальный путь, но хочу посмотреть, упускаю ли я что-то здесь очевидное.

1 Ответ

0 голосов
/ 27 сентября 2019

Нашел здесь:

Получить путь к файлу ActiveStorage на диске

ActiveStorage::Blob.service.send(:path_for, user.avatar.key)
...