Rails 3 - 如何制作自己的错误处理程序

时间:2011-09-01 23:06:07

标签: ruby-on-rails-3 error-handling

任何人都可以帮助我,请问,如何制作我自己的错误处理程序,例如当我试图从数据库中销毁该项目时,不存在(删除不存在ID的项目)?

我试图在谷歌搜索,但我还没有什么,什么有效。

2 个答案:

答案 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
相关问题