2011-09-01 90 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 
相關問題