我被引导相信 Object.find 和 Object.find_by_id 之间的区别在于 find 会引发RecordNotFound异常,而 find_by_id 如果什么也没找到,则简单地返回 nil 。
但是,在我的 Rails 3 应用程序中,如果我尝试使用伪造的 id 搜索我的 Uploads 模型,我会得到:
在 UploadsController#show 中的 ActiveRecord::RecordNotFound
找不到 id=59 的上传
要求
参数:
{"id"=>"59"}
这是搞砸的代码行:
@upload = Upload.find_by_id(params[:id])
我正在使用 Rails 3.1.3。