code: def push(object)
        id_field = (@related_object.class.to_s.underscore + '_id=').to_sym
        object.send(id_field, @related_object.id)
        result = object.save
        result ||= @related_object.save
        result
      end
docs: Pushes an object onto an association. For e.g.:
  
      Task.find(3).assignees.push(assignee)
  
   This both establishes the relation and saves the related
   object, so make sure the related object is valid.