所以我在一个名为add_equip的预留模型中有一个方法.该方法进行一些检查,以确保添加的设备有效(不与另一个预留冲突).
检查工作.如果添加的设备不应该添加,那么它不是,如果是这样的话.
问题是我无法弄清楚如何将消息发送回控制器放入Flash消息中?我知道我必须在这里遗漏一些东西,但是现在已经google了几个小时了,除非是验证错误,否则无法找到任何明确的解释来如何传递错误备份控制器.
reservation_controller中的add_equip
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
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
任何帮助将不胜感激.我知道我在这里缺少一些基本的东西.