Rails 引脚:引脚 ID 是如何工作的?

Rails pins: How does the pin id work?

在 Rails 上使用 Ruby 我生成了一个引脚控制器,想了解引脚 id 在销毁引脚后如何工作。

我创建的第一个引脚的引脚 id 为 1,第二个引脚的引脚 ID 为 2。在销毁第二个引脚并创建一个新引脚后,我创建的最后一个引脚 id 为 3.

为什么销毁第二个图钉后创建的图钉没有 id 2?有没有办法设置成那样?

除非指定,否则数据库记录的id通常会自动递增。这就是为什么每次删除一条记录然后创建一条新记录时,新记录都会得到下一个数字作为它的 id.

是的,如果您想将 id 设置为其他内容,您可以更新记录。

例如,您有一个 Pin 模型,它具有 idname 属性。

您可以像这样创建图钉:

pin = Pin.create(name: 'Pin1')

所以,it will get id = 1。但是,如果您销毁此 pin 对象并以类似方式重新创建另一个:

pin = Pin.create(name: 'Pin1')

it will get id = 2等等。

但是,如果您愿意,您可以更新它的 id 属性(尽管在实际应用程序中您不想那样做!):

pin.id = 1
pin.save

现在,it's id is 1 again.

因此,理论上是可行的,但您不应在实际应用程序中手动修改数据库记录 ID。