2011-09-01 88 views
0

任何人都可以帮助我,请,如何使我自己的错误处理程序,例如情况,当我试图从数据库中销毁项目,不存在(删除项目不存在ID)?Rails 3 - 如何让自己的错误处理程序

我试图在谷歌搜索,但我还没有东西,什么工作。

回答

1

我想你永远不会读这个,但它可以帮助别人。 .find遇到问题,导致当您的ID错误时引发异常。

您有3种管理方式。

你可以通过救援来发现异常。但这不是最好的方法。

你可以检查你的ID是否存在,你有几种方法可以做到这一点。 (例如计数)。但这不是最好的方法,因为你有2个查询。

或者您可以使用find_by_id。这不会引发异常,并且当对象不存在时返回nil。你只需要检查结果。

+0

“我想你永远不会读这个”。大声笑。你需要更积极的思考:)。 – sjngm

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