使用Ruby on Rails我已经生成了一个引脚控制器,想要了解引脚id
在销毁引脚后的工作原理。
我创建的第一个引脚的引脚id
为1,第二个引脚的引脚ID为2
。在销毁第二个引脚并创建一个新引脚后,我创建的最后一个引脚的引脚id
为3.
为什么在销毁第二个引脚后创建的引脚没有id
为2?有没有办法将其设置为?
答案 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
模型具有Pin
和id
属性。
您可以创建一个这样的图钉:
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。