アプリにダウンロードリンクがあり、そこからユーザーは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ファイルをダウンロードできるようにするにはどうすればよいですか?