Type:
Class

Association proxies in Active Record are middlemen between the object that holds the association, known as the @owner, and the actual associated object, known as the @target. The kind of association any proxy is about is available in @reflection. That's an instance of the class ActiveRecord::Reflection::AssociationReflection.

For example, given

class Blog < ActiveRecord::Base
  has_many :posts
end

blog = Blog.first

the association proxy in blog.posts has the object in blog as @owner, the collection of its posts as @target, and the @reflection object represents a :has_many macro.

This class delegates unknown methods to @target via method_missing.

The @target object is not loaded until needed. For example,

blog.posts.count

is computed directly through SQL and does not trigger by itself the instantiation of the actual post records.

second
  • References/Ruby on Rails/Rails/Classes/ActiveRecord/ActiveRecord::Associations/ActiveRecord::Associations::CollectionProxy

second(*args) Instance Public methods Same as first except returns

2025-01-10 15:47:30
destroy
  • References/Ruby on Rails/Rails/Classes/ActiveRecord/ActiveRecord::Associations/ActiveRecord::Associations::CollectionProxy

destroy(*records) Instance Public methods Destroys the records

2025-01-10 15:47:30
to_ary
  • References/Ruby on Rails/Rails/Classes/ActiveRecord/ActiveRecord::Associations/ActiveRecord::Associations::CollectionProxy

to_ary() Instance Public methods Returns a new array of objects from the collection

2025-01-10 15:47:30
target
  • References/Ruby on Rails/Rails/Classes/ActiveRecord/ActiveRecord::Associations/ActiveRecord::Associations::CollectionProxy

target() Instance Public methods

2025-01-10 15:47:30
many?
  • References/Ruby on Rails/Rails/Classes/ActiveRecord/ActiveRecord::Associations/ActiveRecord::Associations::CollectionProxy

many?(&block) Instance Public methods Returns true if the collection has

2025-01-10 15:47:30
loaded?
  • References/Ruby on Rails/Rails/Classes/ActiveRecord/ActiveRecord::Associations/ActiveRecord::Associations::CollectionProxy

loaded?() Instance Public methods Returns true if the association

2025-01-10 15:47:30
destroy_all
  • References/Ruby on Rails/Rails/Classes/ActiveRecord/ActiveRecord::Associations/ActiveRecord::Associations::CollectionProxy

destroy_all() Instance Public methods Deletes the records of the collection

2025-01-10 15:47:30
empty?
  • References/Ruby on Rails/Rails/Classes/ActiveRecord/ActiveRecord::Associations/ActiveRecord::Associations::CollectionProxy

empty?() Instance Public methods Returns true if the collection

2025-01-10 15:47:30
concat
  • References/Ruby on Rails/Rails/Classes/ActiveRecord/ActiveRecord::Associations/ActiveRecord::Associations::CollectionProxy

concat(*records) Instance Public methods Add one or more records to the collection

2025-01-10 15:47:30
delete_all
  • References/Ruby on Rails/Rails/Classes/ActiveRecord/ActiveRecord::Associations/ActiveRecord::Associations::CollectionProxy

delete_all(dependent = nil) Instance Public methods Deletes all the records

2025-01-10 15:47:30