可能的重复:
当 id 1 不存在时 Model.find(1) 给出 ActiveRecord 错误 https://stackoverflow.com/questions/4966430/model-find1-gives-activerecord-error-when-id-1-does-not-exist
如果数据库中没有id为1的用户,尝试User.find(1)
会引发异常。
为什么是这样?
因为这就是架构师希望 find(id) 工作的方式,如 RDoc 中所示:
按 id 查找 - 可以是特定 id (1)、id 列表 (1, 5, 6) 或 ids 数组 ([5, 6, 10])。如果找不到所有列出的 id 的记录,则会引发 RecordNotFound。
如果您不想引发异常,请使用 find_by_id,如果找不到具有指定 id 的对象,它将返回 nil。你的例子就是User.find_by_id(1)
.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)