在rails控制台中找不到特定的ID

时间:2015-11-18 20:43:58

标签: ruby-on-rails console

我正在关注rails教程,并在输入ActiveRecord::RecordNotFound: Couldn't find Page with 'id'=2后遇到此错误page = Page.find(2)。我不明白为什么会这样,因为我一直在一步一步地跟随。我已经检查了所有代码的错误并重新运行了我的迁移,但我仍然得到同样的错误。我能做什么?

2 个答案:

答案 0 :(得分:2)

请在控制台中尝试:

Page.pluck(:id)

它的作用是显示数据库中所有页面ID的数组。如果数组为空,则表示您没有页面记录。如果它有一些值,例如[1, 2, 3],您可以通过将id传递给find方法来加载其中的任何值:page = Page.find(1)

更新

这是你可以添加记录的方式,假设它有属性名称和电子邮件:

user = User.new name: 'John Smith', email: 'john_smith@gmail.com'
user.save!

#other way is to create a user directly:
user = User.create! name: 'John Smith', email: 'john_smith@gmail.com'

“!”如果出现问题,最后的标志会引发异常,所以你会知道到底是什么;只是“保存”,没有“!”将返回true / false。创造也一样! / create

答案 1 :(得分:0)

这意味着你没有id为2的页面,如果你搜索page = Page.find_by_id(2)它会给你nil而不是Error。