Method: ActiveStorage::Blob.create_and_upload!
- Defined in:
- activestorage/app/models/active_storage/blob.rb
.create_and_upload!(key: nil, io:, filename:, content_type: nil, metadata: nil, service_name: nil, identify: true, record: nil) ⇒ Object
Creates a new blob instance and then uploads the contents of the given io to the service. The blob instance is going to be saved before the upload begins to prevent the upload clobbering another due to key collisions. When providing a content type, pass identify: false to bypass automatic content type inference.
95 96 97 98 99 |
# File 'activestorage/app/models/active_storage/blob.rb', line 95 def create_and_upload!(key: nil, io:, filename:, content_type: nil, metadata: nil, service_name: nil, identify: true, record: nil) create_after_unfurling!(key: key, io: io, filename: filename, content_type: content_type, metadata: , service_name: service_name, identify: identify).tap do |blob| blob.upload_without_unfurling(io) end end |