instance method
attach
Ruby on Rails 6.1.7.10
Since v5.2.8.1Signature
attach(*attachables)
Attaches one or more attachables to the record.
If the record is persisted and unchanged, the attachments are saved to the database immediately. Otherwise, they’ll be saved to the DB when the record is next saved.
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 ])
Parameters
-
attachablesrest
Source
# File activestorage/lib/active_storage/attached/many.rb, line 30
def attach(*attachables)
if record.persisted? && !record.changed?
record.public_send("#{name}=", blobs + attachables.flatten)
record.save
else
record.public_send("#{name}=", (change&.attachables || blobs) + attachables.flatten)
end
end
Defined in activestorage/lib/active_storage/attached/many.rb line 30
· View on GitHub
· Improve this page
· Find usages on GitHub
Defined in ActiveStorage::Attached::Many