rails--rails/activestorage/CHANGELOG.md

2.1 KiB

  • Allow to purge an attachment when record is not persisted for has_one_attached

    Jacopo Beschi

  • Add a load hook called active_storage_variant_record (providing ActiveStorage::VariantRecord) to allow for overriding aspects of the ActiveStorage::VariantRecord class. This makes ActiveStorage::VariantRecord consistent with ActiveStorage::Blob and ActiveStorage::Attachment that already have load hooks.

    Brendon Muir

  • ActiveStorage::PreviewError is raised when a previewer is unable to generate a preview image.

    Alex Robbin

  • Add ActiveStorage::Streaming module that can be included in a controller to get access to #send_blob_stream, which wraps the new ActionController::Base#send_stream method to stream a blob from cloud storage:

    class MyPublicBlobsController < ApplicationController
      include ActiveStorage::SetBlob, ActiveStorage::Streaming
    
      def show
        http_cache_forever(public: true) do
          send_blob_stream @blob, disposition: params[:disposition]
        end
      end
    end
    

    DHH

  • Add ability to use pre-defined variants.

    class User < ActiveRecord::Base
      has_one_attached :avatar do |attachable|
        attachable.variant :thumb, resize: "100x100"
        attachable.variant :medium, resize: "300x300", monochrome: true
      end
    end
    
    class Gallery < ActiveRecord::Base
      has_many_attached :photos do |attachable|
        attachable.variant :thumb, resize: "100x100"
        attachable.variant :medium, resize: "300x300", monochrome: true
      end
    end
    
    <%= image_tag user.avatar.variant(:thumb) %>
    

    fatkodima

  • After setting config.active_storage.resolve_model_to_route = :rails_storage_proxy rails_blob_path and rails_representation_path will generate proxy URLs by default.

    Ali Ismayilov

  • Declare ActiveStorage::FixtureSet and ActiveStorage::FixtureSet.blob to improve fixture integration

    Sean Doyle

Please check 6-1-stable for previous changes.