class ActiveRecord::Associations::Builder::CollectionAssociation

def self.define_readers(mixin, name)

Defines the setter and getter methods for the collection_singular_ids.
def self.define_readers(mixin, name)
  super
  mixin.class_eval <<-CODE, __FILE__, __LINE__ + 1
    def #{name.to_s.singularize}_ids
      association(:#{name}).ids_reader
    end
  CODE
end