【发布时间】:2012-08-22 08:13:31
【问题描述】:
我被引导相信 Object.find 和 Object.find_by_id 之间的区别在于 find 会引发 RecordNotFound 异常,而 find_by_id 如果没有找到则简单地返回 nil。
但是,在我的 Rails 3 应用程序中,如果我尝试使用伪造的 id 搜索 Uploads 模型,我会得到:
ActiveRecord::RecordNotFound in UploadsController#show
找不到 id=59 的上传
请求
参数:
{"id"=>"59"}
这是搞砸的代码行:
@upload = Upload.find_by_id(params[:id])
我使用的是 Rails 3.1.3。
【问题讨论】:
-
这很奇怪。我在控制台中尝试并工作。但我使用的是 rails v 3.2。
-
它也可以在我的控制台中使用,只是不能在应用程序本身中使用。
标签: ruby-on-rails-3 exception activerecord impressions