Decorated proxy object representing of multiple attachments to a model.
Methods
- A
- D
- P
Instance Public methods
attach(*attachables)
Link
Associates one or several attachments with the current record, saving them to the database.
document.images.attach(params[:images]) # Array of ActionDispatch::Http::UploadedFile objects
document.images.attach(params[:signed_blob_id]) # Signed reference to blob from direct upload
document.images.attach(io: File.open("/path/to/racecar.jpg"), filename: "racecar.jpg", content_type: "image/jpg")
document.images.attach([ first_blob, second_blob ])
# File activestorage/lib/active_storage/attached/many.rb, line 21 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
attached?()
Link
Returns true if any attachments has been made.
class Gallery < ActiveRecord::Base
has_many_attached :photos
end
Gallery.new.photos.attached? # => false
attachments()
Link
Returns all the associated attachment records.
All methods called on this proxy object that aren't listed here will automatically be delegated to attachments
.
detach()
Link
Deletes associated attachments without purging them, leaving their respective blobs in place.
purge
Link
Directly purges each associated attachment (i.e. destroys the blobs and attachments and deletes the files on the service).