method
create_record
v3.0.0 -
Show latest stable
- Class:
ActiveRecord::Associations::AssociationCollection
create_record(attrs)private
No documentation available.
# File activerecord/lib/active_record/associations/association_collection.rb, line 492
def create_record(attrs)
attrs.update(@reflection.options[:conditions]) if @reflection.options[:conditions].is_a?(Hash)
ensure_owner_is_not_new
_scope = self.construct_scope[:create]
csm = @reflection.klass.send(:current_scoped_methods)
options = (csm.blank? || !_scope.is_a?(Hash)) ? _scope : _scope.merge(csm.where_values_hash)
record = @reflection.klass.send(:with_scope, :create => options) do
@reflection.build_association(attrs)
end
if block_given?
add_record_to_target_with_callbacks(record) { |*block_args| yield(*block_args) }
else
add_record_to_target_with_callbacks(record)
end
end