1
0
Fork 0
mirror of https://github.com/rails/rails.git synced 2022-11-09 12:12:34 -05:00

Fix-up variants controller

This commit is contained in:
David Heinemeier Hansson 2017-07-20 17:34:32 -05:00
parent 1c85eecee0
commit 6c2cef21ce
2 changed files with 11 additions and 22 deletions

View file

@ -0,0 +1,11 @@
class ActiveStorage::DirectUploadsController < ActionController::Base
def create
blob = ActiveStorage::Blob.create_before_direct_upload!(blob_args)
render json: { url: blob.url_for_direct_upload, sgid: blob.to_sgid.to_param }
end
private
def blob_args
params.require(:blob).permit(:filename, :byte_size, :checksum, :content_type, :metadata).to_h.symbolize_keys
end
end

View file

@ -1,22 +0,0 @@
require "action_controller"
require "active_storage/blob"
class ActiveStorage::Controllers::VariantsController < ActionController::Base
def show
if blob_key = decode_verified_key
variant = ActiveStorage::Variant.find_or_create_by(blob_key: blob_key, variation_key: params[:variation_key])
redirect_to variant.url
else
head :not_found
end
end
private
def decode_verified_key
ActiveStorage::VerifiedKeyWithExpiration.decode(params[:encoded_key])
end
def disposition_param
params[:disposition].presence_in(%w( inline attachment )) || 'inline'
end
end