From 32fdb4e7967d1f192a035fa31e790c92273b3a53 Mon Sep 17 00:00:00 2001 From: jazzari Date: Tue, 21 Nov 2023 15:45:42 +0100 Subject: [PATCH] fix: cambiado metodo blob_for para lanzar excepcion y disk_controller_decorator.rb para devolver not_found si no encuentra el blob #14378 --- app/controllers/active_storage/disk_controller_decorator.rb | 3 ++- app/lib/active_storage/service/jekyll_service.rb | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/app/controllers/active_storage/disk_controller_decorator.rb b/app/controllers/active_storage/disk_controller_decorator.rb index 14366a15..aaaa9357 100644 --- a/app/controllers/active_storage/disk_controller_decorator.rb +++ b/app/controllers/active_storage/disk_controller_decorator.rb @@ -6,6 +6,7 @@ module ActiveStorage extend ActiveSupport::Concern included do + rescue_from ActiveRecord::RecordNotFound, with: :page_not_found # Asociar el archivo subido al sitio correspondiente. Cada sitio # tiene su propio servicio de subida de archivos. def update @@ -13,7 +14,7 @@ module ActiveStorage if acceptable_content?(token) named_disk_service(token[:service_name]).upload token[:key], request.body, checksum: token[:checksum] - blob = ActiveStorage::Blob.find_by_key token[:key] + blob = ActiveStorage::Blob.find_by! token[:key] site = Site.find_by_name token[:service_name] site.static_files.attach(blob) diff --git a/app/lib/active_storage/service/jekyll_service.rb b/app/lib/active_storage/service/jekyll_service.rb index e6c5fda6..b33ccf4d 100644 --- a/app/lib/active_storage/service/jekyll_service.rb +++ b/app/lib/active_storage/service/jekyll_service.rb @@ -96,7 +96,7 @@ module ActiveStorage end def blob_for(key) - ActiveStorage::Blob.find_by(key: key, service_name: name) + ActiveStorage::Blob.find_by!(key: key, service_name: name) end end end