method
_insert_record
rails latest stable - Class:
ActiveRecord::Persistence::ClassMethods
_insert_record(values, returning)public
No documentation available.
# 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