30 lines
759 B
Ruby
30 lines
759 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.first.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
|