diff options
Diffstat (limited to 'lib')
-rw-r--r-- | lib/active_storage/controllers/variants_controller.rb | 2 | ||||
-rw-r--r-- | lib/active_storage/variant.rb | 2 |
2 files changed, 2 insertions, 2 deletions
diff --git a/lib/active_storage/controllers/variants_controller.rb b/lib/active_storage/controllers/variants_controller.rb index 24cee16e80..094f94e706 100644 --- a/lib/active_storage/controllers/variants_controller.rb +++ b/lib/active_storage/controllers/variants_controller.rb @@ -4,7 +4,7 @@ require "active_storage/blob" class ActiveStorage::Controllers::VariantsController < ActionController::Base def show if blob_key = decode_verified_key - variant = ActiveStorage::Variant.lookup(blob_key: blob_key, variation_key: params[:variation_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 diff --git a/lib/active_storage/variant.rb b/lib/active_storage/variant.rb index 9b9dad43da..f005454b00 100644 --- a/lib/active_storage/variant.rb +++ b/lib/active_storage/variant.rb @@ -7,7 +7,7 @@ class ActiveStorage::Variant attr_reader :blob, :variation delegate :service, to: :blob - def self.lookup(blob_key:, variation_key:) + def self.find_or_create_by(blob_key:, variation_key:) new ActiveStorage::Blob.find_by!(key: blob_key), variation: verifier.verify(variation_key) end |