任何人都可以帮助我,请问,如何制作我自己的错误处理程序,例如当我试图从数据库中销毁该项目时,不存在(删除不存在ID的项目)?
我试图在谷歌搜索,但我还没有什么,什么有效。
答案 0 :(得分:1)
我想你永远不会读到这个,但它可以帮助别人。您遇到.find问题导致它在您的ID错误时引发异常。
您有3种方法可以管理它。
您可以通过救援捕获异常。但这不是最好的方式。
您可以检查您的ID是否存在,您只有几种方法可以这样做。 (例如)。但这不是最好的方法,因为你有2个查询。
或者您可以使用find_by_id。这不会引发异常,并且当您的对象不存在时返回nil。您只需要查看结果。
答案 1 :(得分:0)
your_item = YourModel.find_by_id(non_existent_id) # returns nil
# PS: YourModel.find(non_existent_id) would raise exception
if your_item
your_item.destroy
flash[:notice] = "Deleted item with id #{non_existent_id}"
else
flash[:error] = "Cannot find item with id #{non_existent_id}"
end