Possible Duplicate:
Model.find(1) gives ActiveRecord error when id 1 does not exist
如果数据库中没有id为1的用户,try User.find(1)
将引发异常.
这是为什么?
Possible Duplicate:
Model.find(1) gives ActiveRecord error when id 1 does not exist
如果数据库中没有id为1的用户,try User.find(1)
将引发异常.
这是为什么?
因为正如RDoc中所指出的,这是架构师想要找到(id)的工作方式:
按id查找-可以是特定id(1)、id列表(1、5、6)或id数组([5、6、10]).如果无法找到所有列出的ID的记录,则会引发RecordNotFound.
如果您不想引发异常,请使用find_by_id,如果找不到具有指定id的对象,它将返回nil.您的示例将是User.find_by_id(1)
.