Method: ActiveRecord::Associations::Association#initialize_attributes

Defined in:
lib/active_record/associations/association.rb

#initialize_attributes(record, except_from_scope_attributes = nil) ⇒ Object

:nodoc:



193
194
195
196
197
198
199
200
201
# File 'lib/active_record/associations/association.rb', line 193

def initialize_attributes(record, except_from_scope_attributes = nil) # :nodoc:
  except_from_scope_attributes ||= {}
  skip_assign = [reflection.foreign_key, reflection.type].compact
  assigned_keys = record.changed_attribute_names_to_save
  assigned_keys += except_from_scope_attributes.keys.map(&:to_s)
  attributes = scope_for_create.except!(*(assigned_keys - skip_assign))
  record.send(:_assign_attributes, attributes) if attributes.any?
  set_inverse_instance(record)
end