搜索不存在的记录时返回ActiveRecord :: RecordNotFound

时间:2012-08-24 20:55:57

标签: ruby-on-rails ruby-on-rails-3 gemset

我跟随Ruby on Rails Tutorial。在我创建了一个用户之后,我使用destroy方法将其销毁,然后我使用find检查它是否仍然存在,我的控制台返回与教程完全相同,但有一些错误。
这是错误图片: enter image description here

在这里,我创建了一个名为“abc”的用户,其ID为:7,然后我销毁并使用User.find(7)来查找用户。

我用rvm安装了rails并创建了名为1.9.3@rails3tutorial2endEd的gemset。我搜索但不知道这是什么问题,有人可以帮忙吗?非常感谢。

2 个答案:

答案 0 :(得分:2)

这是正常的。由于记录不再存在,您将获得ActiveRecord::RecordNotFound

如果您想要返回nil。你可以试试像

这样的东西

User.where(:id => 51).exists?

将返回true或false。

答案 1 :(得分:1)

无法找到被破坏的用户,因为他们已不存在。