URL постоянного изображения активного хранилища - PullRequest
0 голосов
/ 20 декабря 2018

Я создаю список продуктов Google для веб-сайта, созданного в Ruby on Rails.На веб-сайте есть несколько магазинов со своими собственными интерфейсами, поэтому они хотят, чтобы для каждого магазина был канал товаров Google.

Проблема, с которой я столкнулся, заключается в том, что если я использую url_for (изображение), то получаю URL-адрес изображения в этом магазине.Но активное хранилище работает по временному URL, который по умолчанию длится 5 минут.Таким образом, ссылки не будут работать в канале, если он был обработан.

Изображения размещены в корзине S3, поэтому я могу получить service_url.Но Google не любит, когда изображения поступают из отдельного домена в магазин.Есть ли способ получить постоянный чистый URL из домена магазинов?

Ответы [ 2 ]

0 голосов
/ 29 декабря 2018

Я думаю, что вы после этого не легко возможно.Active Storage, кажется, не поддерживает постоянные, не истекающие URL-адреса: «Запрос истек» при использовании S3 с Active Storage

В зависимости от вашей настройки, могут быть полезны и (в основном) безрукий обходной путь.В моем случае я установил пользовательское действие show для записи, которой принадлежит файл, на который я хочу связать:

redirect_to url_for(@record_name.file)

Затем с помощью помощника пути длязапись show действие в моем приложении, как обычно, просто отображает то, что я хочу, через истекающий url_for.

0 голосов
/ 20 декабря 2018

Попробуйте rails_blob_url

rails_blob_url(image, disposition: "attachment")
...