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