method

_insert_record

Importance_0
Ruby on Rails latest stable (v7.1.3.2) - 0 notes - Class: ClassMethods
_insert_record(values, returning) public

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/persistence.rb, line 569
      def _insert_record(values, returning) # :nodoc:
        primary_key = self.primary_key
        primary_key_value = nil

        if prefetch_primary_key? && primary_key
          values[primary_key] ||= begin
            primary_key_value = next_sequence_value
            _default_attributes[primary_key].with_cast_value(primary_key_value)
          end
        end

        im = Arel::InsertManager.new(arel_table)

        if values.empty?
          im.insert(connection.empty_insert_statement_value(primary_key))
        else
          im.insert(values.transform_keys { |name| arel_table[name] })
        end

        connection.insert(
          im, "#{self} Create", primary_key || false, primary_key_value,
          returning: returning
        )
      end
Register or log in to add new notes.