我正在编写一个简单的rails应用程序来缓存来自Web服务的值。 Web服务返回如下所示的对象列表:
<objects>
<object>
<id>12345</id>
<name>obj name</name>
</object>
....
</objects>
如果我保证它是唯一的,可以使用id作为我的ActiveRecord对象的id吗?或者更好的做法是将它设置为不同的属性并让ActiveRecord处理id?我已经阅读了代码,看起来ActiveRecord上的create方法如果已经设置,则不会生成新的id。我能正确理解吗?
由于
答案 0 :(得分:2)
如果您的id
字段设置为自动增量,则无法指定,至少不容易。但这取决于您的数据库。
我建议独立于您自己的ID存储外部ID。从长远来看,它将为您提供更多的灵活性,并与第三方的ID方案改变隔离。
答案 1 :(得分:0)
我肯定会使用自己的ID,因为在允许外部访问时无法保证。