Rails ActiveStorage: как получить альтернативный URL-адрес в режиме прокси?

#ruby-on-rails #ruby #rails-activestorage #ruby-on-rails-6.1

Вопрос:

В файле /config/application.rb у меня есть config.active_storage.resolve_model_to_route = :rails_storage_proxy .

Затем я создаю URL-адрес с помощью Rails.application.routes.url_helpers.rails_representation_url(img, only_path: true)

Но я все еще получаю изображения, которые передаются через перенаправление, а не напрямую из моего приложения rails, как я ожидал бы, когда настраивал режим прокси.

Должен ли я использовать другой способ создания URL-адреса? Или я неправильно настроил режим прокси-сервера?

Ответ №1:

Чтобы получить URL-адрес варианта в режиме прокси, вам необходимо использовать метод Rails.application.routes.url_helpers.rails_storage_proxy_url(img, only_path: true)

Дополнительно, при использовании режима только api, вам необходимо включить промежуточное программное обеспечение Flash, добавив config.middleware.use ActionDispatch::Flash в свое приложение.rb. Это необходимо из — за этой проблемы