Rails - Obtenir un message d'erreur du modèle qui n'est pas une erreur de validation

J'ai donc une méthode dans un modèle de réservation appelé add_equip. Cette méthode effectue une vérification pour vous assurer que l'ajout d'une pièce d'équipement est valide (pas en conflit avec une autre réservation).

Les vérifications de travail. Si une ajoutés pièce d'équipement ne doit pas être ajoutée, elle ne l'est pas, et si elle doit il est.

Le problème est que je n'arrive pas à comprendre comment faire pour envoyer les messages sauvegardez sur le contrôleur pour être mis dans le message flash? Je sais que je dois être en manque de quelque chose ici, mais j'ai googlé pour quelques heures maintenant et ne peut pas vraiment trouver de tout des explications claires sur comment comment passer des erreurs de sauvegarder le responsable du traitement, sauf qu'ils sont des erreurs de validation.

add_equip dans reservations_controller

    def add_equip
    @reservation = Reservation.find(params[:id])
    @addedEquip = Equip.find(params[:equip_id])

    respond_to do |format|
     if @reservation.add_equip(@addedEquip)
        flash[:notice] = "Equipment was added"
        format.html { redirect_to(edit_reservation_path(@reservation)) }
     else
        flash[:notice] = @reservation.errors
        format.html { redirect_to(edit_reservation_path(@reservation)) }
     end
    end
  end

add_equip dans le modèle de réservation

def add_equip equip
   if self.reserved.find_by_equip_id(equip.id)
     self.errors.add_to_base("Equipment Already Added")
     return false
   elsif !equip.is_available?(self.start, self.end)
     self.errors.add_to_base("Equipment Already Reserved")
     return false
   else
     r = Reserved.new
     r.reservation = self
     r.equip = equip
     r.save
   end
  end

Toute aide serait grandement appréciée. Je sais que je suis absent quelque chose de fondamental ici.

source d'informationauteur raytiley