Я переместил скрепку формы в ActiveStorage, и я изо всех сил борюсь с URL-адресами. Я использовал service_url
, но не работал для меня, потому что каждый раз, когда вы вызываете эту функцию, она возвращает другой URL.
Я пытаюсь использовать Rails.application.routes.url_helpers.rails_blob_path
. Локально это работает. Мне просто нужно получить доступ к http://localhost:3000/rails/active_storage/disk/<etc>
, где rails/active_storage/disk/<etc>
было дано мне из вызова метода.
Но как я могу получить доступ к этому с моего Amazon S3? Я включил статический хостинг веб-сайтов, но если я нажму http://my-production-bucket.s3-website.sa-east-1.amazonaws.com/rails/active_storage/blobs/<etc>
, я получу ошибку. Я поражаю не ту конечную точку / неправильный хост? Что еще мне нужно сделать, чтобы получить уникальный (не динамический) URL, есть ли еще один простой способ?
My storage.yml:
amazon:
service: S3
access_key_id: <%= ENV['AWS_KEY'] %>
secret_access_key: <%= ENV['AWS_SECRET'] %>
region: 'sa-east-1'
bucket: 'production-bucket'
test:
service: Disk
root: <%= Rails.root.join("tmp/storage") %>
local:
service: Disk
root: <%= Rails.root.join("storage") %>
production.rb:
config.active_storage.service = :amazon