我使用createRecord实例化了模型。现在如何在保存之前获取该记录的ID?
答案 0 :(得分:1)
您可以考虑generateIdForRecord
http://emberjs.com/api/data/classes/DS.Adapter.html#method_generateIdForRecord
如果要在您的记录上生成记录的全局唯一ID 客户端,实现generateIdForRecord()方法。这种方法会 每次创建新记录时都会调用,并返回值 从它将被分配到记录的primaryKey。
大多数传统的类似REST的API都不会使用此方法。 相反,记录的ID将由服务器和您的 适配器将在调用时使用新ID更新商店 didCreateRecord()。如果您打算,只实现此方法 在客户端生成记录ID。
您甚至可以创建特定于模型的适配器说post
模型,您可以创建post
适配器并覆盖generateIdForRecord
方法。
<强>适配器/ post.js 强>
import ApplicationAdapter from './application';
import DS from 'ember-data';
import { v4 } from 'uuid';
export default ApplicationAdapter.extend({
generateIdForRecord: function(store, inputProperties) {
return v4();
}
});