Module: ActiveStorage::Attached::Model
Relationships & Source Files | |
Super Chains via Extension / Inclusion / Inheritance | |
Class Chain:
self,
::ActiveSupport::Concern
|
|
Defined in: | activestorage/lib/active_storage/attached/model.rb |
Overview
Provides the class-level DSL for declaring an Active Record model’s attachments.
Class Method Summary
::ActiveSupport::Concern
- Extended
class_methods | Define class methods from given block. |
included | Evaluate given block in context of base class, so that you can write class macros here. |
prepended | Evaluate given block in context of base class, so that you can write class macros here. |
append_features, prepend_features |
Instance Attribute Summary
- #changed_for_autosave? ⇒ Boolean readonly Internal use only
Instance Method Summary
-
#*_attachment
Returns the attachment for the
has_one_attached
. -
#*_attachments
Returns the attachments for the
has_many_attached
. -
#*_blob
Returns the blob for the
has_one_attached
attachment. -
#*_blobs
Returns the blobs for the
has_many_attached
attachments. -
#with_attached_*
Includes the attached blobs in your query to avoid N+1 queries.
- #attachment_changes Internal use only
- #initialize_dup Internal use only
- #reload Internal use only
Instance Attribute Details
#changed_for_autosave? ⇒ Boolean
(readonly)
# File 'activestorage/lib/active_storage/attached/model.rb', line 266
def changed_for_autosave? # :nodoc: super || .any? end
Instance Method Details
#*_attachment
Returns the attachment for the has_one_attached
.
User.last.
# File 'activestorage/lib/active_storage/attached/model.rb', line 13
rdoc_method :method: *
#*_attachments
Returns the attachments for the has_many_attached
.
Gallery.last.
# File 'activestorage/lib/active_storage/attached/model.rb', line 20
rdoc_method :method: *
#*_blob
Returns the blob for the has_one_attached
attachment.
User.last.avatar_blob
# File 'activestorage/lib/active_storage/attached/model.rb', line 27
rdoc_method :method: *_blob
#*_blobs
Returns the blobs for the has_many_attached
attachments.
Gallery.last.photos_blobs
# File 'activestorage/lib/active_storage/attached/model.rb', line 34
rdoc_method :method: *_blobs
#attachment_changes
# File 'activestorage/lib/active_storage/attached/model.rb', line 262
def # :nodoc: @attachment_changes ||= {} end
#initialize_dup
# File 'activestorage/lib/active_storage/attached/model.rb', line 270
def initialize_dup(*) # :nodoc: super @active_storage_attached = nil @attachment_changes = nil end
#reload
# File 'activestorage/lib/active_storage/attached/model.rb', line 276
def reload(*) # :nodoc: super.tap { @attachment_changes = nil } end
#with_attached_*
Includes the attached blobs in your query to avoid N+1 queries.
If ActiveStorage.track_variants is enabled, it will also include the variants record and their attached blobs.
User.with_attached_avatar
Use the plural form for has_many_attached
:
Gallery.with_attached_photos
# File 'activestorage/lib/active_storage/attached/model.rb', line 55
rdoc_method :method: with_attached_*