Отсутствует проблема с хостом при использовании Active Storage в Rails - PullRequest
0 голосов
/ 21 июня 2019

Я не хочу, чтобы наши серверы затрагивались больше, чем нужно (для этого мы используем CDN). Я хочу использовать прямые ссылки на ресурсы (без перенаправлений активного хранилища)

Прямая ссылка может быть восстановлена ​​через

object.active_storage_file.service_url

Но это приводит к ошибке:

Missing host to link to! Please provide the :host parameter, set default_url_options[:host], or set :only_path to true

В env/development.rb Я уже добавил:

Rails.application.routes.default_url_options[:host] = "localhost:3000"

Однако это не решает проблему. Есть идеи, почему и как это сделать?

1 Ответ

0 голосов
/ 21 июня 2019

В вашем контроллере вы можете написать:

before_action do
   ActiveStorage::Current.host = request.base_url
end

Это позволило бы вам дать URL-адрес службы хосту, скажем:

active_storage_file.blob.service_url if active_storage_file.attached?
...