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:
parent
1c85eecee0
commit
6c2cef21ce
2 changed files with 11 additions and 22 deletions
11
app/controllers/active_storage/direct_uploads_controller.rb
Normal file
11
app/controllers/active_storage/direct_uploads_controller.rb
Normal 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
|
|
@ -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
|
|
Loading…
Reference in a new issue