def save(*args)
      return false unless valid?

      ActiveRecord::Base.transaction do
        begin
          associates.all? do |associate|
            send(associate.name).send(:save!, *args)
          end
        rescue ActiveRecord::RecordInvalid
          false
        end
      end
    end
def save(*args)
      return false unless valid?

      ActiveRecord::Base.transaction do
        begin
          associates.all? do |associate|
            send(associate.name).send(:save!, *args)
          end
        rescue ActiveRecord::RecordInvalid
          false
        end
      end
    end
Persists each associated model

 @return [Boolean] Wether or not all models are valid and persited