Files
fizzy/app/controllers/uploads_controller.rb
T
David Heinemeier Hansson d9a9690137 Always use sole
2025-04-13 20:29:10 +02:00

30 lines
758 B
Ruby

class UploadsController < ApplicationController
include ActiveStorage::SetCurrent
before_action :set_file, only: :create
before_action :set_attachment, only: :show
def create
# FIXME: Try to get upload attachments on root
@upload = Account.sole.uploads_attachments.create! blob: create_blob!
end
def show
expires_in 5.minutes, public: true
redirect_to @attachment.url
end
private
def set_file
@file = params[:file]
end
def set_attachment
@attachment = ActiveStorage::Attachment.find_by! slug: "#{params[:slug]}.#{params[:format]}"
end
def create_blob!
ActiveStorage::Blob.create_and_upload! io: @file, filename: @file.original_filename, content_type: @file.content_type
end
end