Flowdock
method

create_has_and_belongs_to_many_reflection

Importance_0
create_has_and_belongs_to_many_reflection(association_id, options, &extension) private

No documentation

This method has no description. You can help the Ruby on Rails community by adding new notes.

Hide source
# File activerecord/lib/active_record/associations.rb, line 1797
        def create_has_and_belongs_to_many_reflection(association_id, options, &extension)
          options.assert_valid_keys(valid_keys_for_has_and_belongs_to_many_association)
          options[:extend] = create_extension_modules(association_id, extension, options[:extend])

          reflection = create_reflection(:has_and_belongs_to_many, association_id, options, self)

          if reflection.association_foreign_key == reflection.primary_key_name
            raise HasAndBelongsToManyAssociationForeignKeyNeeded.new(reflection)
          end

          reflection.options[:join_table] ||= join_table_name(undecorated_table_name(self.to_s), undecorated_table_name(reflection.class_name))
          if connection.supports_primary_key? && (connection.primary_key(reflection.options[:join_table]) rescue false)
             raise HasAndBelongsToManyAssociationWithPrimaryKeyError.new(reflection)
          end

          reflection
        end
Register or log in to add new notes.