Rails API ActiveStorage: Получить публичный URL для отображения изображения из AWS S3 Bucket?

У меня установлен Rails 5.2 API, и я следил за документацией о том, как прикреплять изображения к объекту модели - все это работает нормально. Проблема в том, что я хочу вернуть в объект JSON публичный URL вложения, чтобы я мог использовать этот URL в качестве источника в <img src... в моем React-интерфейсе. Есть ли способ вернуть фактический URL из корзины AWS S3, где изображение будет отображаться при нажатии?

Щас попробовал rails_blob_path, service_url, и я получаю URL взамен, но ни один из них на самом деле не отображает изображение так, как я надеюсь. Есть ли обходные пути к этому?

Опять же, просто хочу фактический публичный URL вложения от s3, чтобы я мог подключить его к src атрибут внутри <img> и имейте это показ. Благодарю.

Мой файл development.rb настраивает config.active_stoarge.service = :amazon,

Мой файл storage.yml имеет amazon, настроенный так:amazon: service: S3 access_key_id: <%= Rails.application.secrets.amazon[:access_key] %> secret_access_key: <%= Rails.application.secrets.amazon[:secret_key] %> region: us-east-2 bucket: my_bucket_name_here

ActiveStorage 5.2.2

Рельсы 5.2.2

1 ответ

Вы должны быть в состоянии использовать rails_blob_url или же rails_blob_path создать ссылку на актуальный файл.

https://edgeguides.rubyonrails.org/active_storage_overview.html

Другие вопросы по тегам