【问题标题】:ActiveRecord::RecordNotFound returned when searching for non-existent records搜索不存在的记录时返回 ActiveRecord::RecordNotFound
【发布时间】:2012-08-24 20:55:56
【问题描述】:

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

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

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

【问题讨论】:

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


    【解决方案1】:

    这很正常。由于该记录不再存在,您将得到ActiveRecord::RecordNotFound

    如果您想返回nil。您可以尝试类似

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

    这将返回 true 或 false。

    【讨论】:

      【解决方案2】:

      无法找到已销毁的用户,因为它们不再存在。

      【讨论】:

      • 是的,它被退回了,但我想问一下“来自/home/....”是什么?为什么会出现,这里有什么问题?
      • 没什么问题。这就是所谓的堆栈跟踪的一部分。堆栈跟踪顶部的行(“来自 /home/... in find_one”)是最近的调用。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-01-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-09-14
      • 2017-10-05
      相关资源
      最近更新 更多