method
_create_record
v7.2.3 -
Show latest stable
- Class:
ActiveRecord::Associations::CollectionAssociation
_create_record(attributes, raise = false, &block)private
No documentation available.
# File activerecord/lib/active_record/associations/collection_association.rb, line 354
def _create_record(attributes, raise = false, &block)
unless owner.persisted?
raise ActiveRecord::RecordNotSaved.new("You cannot call create unless the parent is saved", owner)
end
if attributes.is_a?(Array)
attributes.collect { |attr| _create_record(attr, raise, &block) }
else
record = build_record(attributes, &block)
transaction do
result = nil
add_to_target(record) do
result = insert_record(record, true, raise) {
@_was_loaded = loaded?
}
end
raise ActiveRecord::Rollback unless result
end
record
end
end