General rescue throughout controller when id not found - RoR

后端 未结 4 1911
野的像风
野的像风 2021-02-07 11:21

I have stumbled upon a situation where my application looks for an id that does not exist in the database. An exception is thrown. Of course, this is a pretty standard situation

4条回答
  •  清歌不尽
    2021-02-07 11:58

    In certain cases, I would recommend that you use Model.find_by_id(id) as opposed to Model.find(id). Instead of throwing an exception, .find_by_id returns nil. if the record could not be found.

    Just make sure to check for nils to avoid NoMethodError!

    P.S. For what it's worth, Model.find_by_id(id) is functionally equivalent to Model.where(id: id), which would allow you to build out some additional relations if you want.

提交回复
热议问题