Ruby on rails Can';在rails控制台中找不到特定ID

Ruby on rails Can';在rails控制台中找不到特定ID,ruby-on-rails,console,Ruby On Rails,Console,我正在学习rails教程,在键入thisPage=Page.find(2)后,遇到了以下错误ActiveRecord::RecordNotFound:找不到“id”=2的页面。我不明白为什么会发生这种情况,因为我一直在一步一步地跟踪。我检查了所有代码的拼写错误,并重新运行了迁移,但仍然出现相同的错误。我能做什么 如果您搜索page=page,则表示您没有id=2的页面。按id(2)查找

我正在学习rails教程,在键入this
Page=Page.find(2)
后,遇到了以下错误
ActiveRecord::RecordNotFound:找不到“id”=2的页面。我不明白为什么会发生这种情况,因为我一直在一步一步地跟踪。我检查了所有代码的拼写错误,并重新运行了迁移,但仍然出现相同的错误。我能做什么

如果您搜索
page=page,则表示您没有id=2的页面。按id(2)查找
它将为您提供零而不是错误。

请在控制台中尝试此操作:

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


更新

假设记录具有属性name和email,则可以这样添加记录:

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'

如果出现问题,末尾的“!”符号会引发异常,因此您将知道具体情况;只调用“save”,不调用“!”将返回true/false。创建时也是如此!/create

我理解错误告诉我的是什么,但我不理解的是它为什么会发生。当讲师键入时,页面被找到。我是否应该发布一些有助于确定原因的信息@Padmanaban GokulaYou可能已经删除了id=2的记录,请按照@bosskovic的建议查看表中的页面id列表。当我这样做时,数组是空的……但这是让我困惑的事情,如果我一步一步地遵循教程,我不知道为什么它是空的。我真的不想从头开始整个教程@Bosskovic试着回到教程中添加记录的地方,可能这就是出错的地方,最终没有记录。或者您现在可以添加一个记录,您只需要记住用户模型具有哪些属性。我将用一个例子更新答案。谢谢更新!我会尝试一下,希望我能赶上,让你知道会发生什么@所以我回到了教程,按照你说的做了(添加那些丢失的记录),然后从中学习。现在一切似乎都很顺利!我想我得更加小心@老板!只是不要放弃:-)