class ActiveRecord::Associations::HasManyThroughAssociation

def build_record(attributes)

def build_record(attributes)
  ensure_not_nested
  @through_scope = scope
  record = super
  inverse = source_reflection.inverse_of
  if inverse
    if inverse.collection?
      record.send(inverse.name) << build_through_record(record)
    elsif inverse.has_one?
      record.send("#{inverse.name}=", build_through_record(record))
    end
  end
  record
ensure
  @through_scope = nil
end