У меня есть ссылка для загрузки в моем приложении, из которой пользователи могут скачивать файлы, хранящиеся на s3. Эти файлы будут общедоступны по URL-адресам, которые выглядят примерно так:
https://s3.amazonaws.com/:bucket_name/:path/:to/:file.png
Ссылка для загрузки удаляет действие в моем контроллере:
class AttachmentsController < ApplicationController
def show
@attachment = Attachment.find(params[:id])
send_file(@attachment.file.url, disposition: 'attachment')
end
end
Но я получаю следующую ошибку при попытке загрузить файл:
ActionController::MissingFile in AttachmentsController#show
Cannot read file https://s3.amazonaws.com/:bucket_name/:path/:to/:file.png
Rails.root: /Users/user/dev/rails/print
Application Trace | Framework Trace | Full Trace
app/controllers/attachments_controller.rb:9:in `show'
Файл определенно существует и общедоступен на URL-адресе в сообщении об ошибке.
Как разрешить пользователям загружать файлы S3?