Итак, у меня есть метод в модели резервирования, называемый add_equip. Этот метод делает некоторую проверку, чтобы убедиться, что добавленная часть оборудования действительна (не противоречит другому резервированию).
Проверки работают. Если добавленная часть оборудования не должна быть добавлена, это не так, и если это так.
Проблема заключается в том, что я не могу понять, как отправить сообщения обратно на контроллер, чтобы они были помещены во флэш-сообщение? Я знаю, что мне здесь что-то не хватает, но я уже несколько часов искал в Интернете и не могу найти никаких ясных объяснений о том, как передавать ошибки в резервную копию контроллера, если только они не являются ошибками проверки.
add_equip в 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 в модели резервирования
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
Любая помощь будет принята с благодарностью. Я знаю, что у меня отсутствует что-то основное.