class ActiveStorage::Attached::Many
Decorated proxy object representing of multiple attachments to a model.
def attach(*attachables)
document.images.attach(io: File.open("/path/to/racecar.jpg"), filename: "racecar.jpg", content_type: "image/jpg")
document.images.attach(params[:signed_blob_id]) # Signed reference to blob from direct upload
document.images.attach(params[:images]) # Array of ActionDispatch::Http::UploadedFile objects
Associates one or several attachments with the current record, saving them to the database.
def attach(*attachables) attachables.flatten.collect do |attachable| if record.new_record? attachments.build(record: record, blob: create_blob_from(attachable)) else attachments.create!(record: record, blob: create_blob_from(attachable)) end end end
def attached?
end
has_many_attached :photos
class Gallery < ActiveRecord::Base
Returns true if any attachments has been made.
def attached? attachments.any? end
def attachments
Returns all the associated attachment records.
def attachments record.public_send("#{name}_attachments") end
def detach
def detach attachments.destroy_all if attached? end