导轨引脚:引脚ID如何工作?

时间:2015-08-22 03:36:28

标签: ruby-on-rails ruby ruby-on-rails-3 ruby-on-rails-4 activerecord

使用Ruby on Rails我已经生成了一个引脚控制器,想要了解引脚id在销毁引脚后的工作原理。

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

为什么在销毁第二个引脚后创建的引脚没有id为2?有没有办法将其设置为?

1 个答案:

答案 0 :(得分:3)

除非另有说明,否则数据库记录的marker.on('dragend', function (e) { updateLatLng(marker.getLatLng().lat, marker.getLatLng().lng); }); map.on('click', function (e) { marker.setLatLng(e.latlng); updateLatLng(marker.getLatLng().lat, marker.getLatLng().lng); }); function updateLatLng(lat,lng,reverse) { if(reverse) { marker.setLatLng([lat,lng]); map.panTo([lat,lng]); } else { document.getElementById('latitude').value = marker.getLatLng().lat; document.getElementById('longitude').value = marker.getLatLng().lng; map.panTo([lat,lng]); } } 通常会自动递增。这就是为什么每次删除记录然后创建新记录时,新记录都会得到下一个数字id

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

例如,您的id模型具有Pinid属性。

您可以创建一个这样的图钉:

name

所以,pin = Pin.create(name: 'Pin1') 。但是,如果你销毁这个pin对象并以类似的方式重新创建另一个:

it will get id = 1

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

但是,如果您愿意,可以更新它的it will get id = 2属性(尽管在实际应用中您不想这样做!):

id

现在,pin.id = 1 pin.save

因此,从理论上讲,这是可能的,但您不应在现实生活中的应用程序中手动修改数据库记录ID。