恩伯 - 如何获得身份证?

时间:2013-12-05 18:24:51

标签: ember.js model

我正在尝试保存模型并获取其ID,以便将其添加到另一个模型中。

模型1.save>获取其ID

var something_else = this.get('randomised');
Model 2.
var hash = {
something : something_else
**model_1_id : ????**
}
model2.creatrecord('model2', hash).save();

我尝试过各种解决方案。到目前为止最好的是

model2.creatrecord('model2', hash).get('id);

但这绝对不是正确的方法。 为了让自己更清楚,我添加了JSBIN:http://jsbin.com/etemONe/2/edit

1 个答案:

答案 0 :(得分:0)

来自Ember Record文档:

http://emberjs.com/guides/models/

  

ID通常由服务器在为其保存时分配   第一次,但您也可以在客户端生成ID。

由于您正在使用fixture适配器,因此您需要在客户端生成id,并将其保存回服务器。从长远来看,这可能是不好的,所以你可能想要查看一个让服务器处理它的不同适配器。

来自Kingpin2k: 保存返回一个承诺,该承诺将作为记录解析,此时您将拥有一个ID。另外createRecord返回记录,你可以保留对它的引用,然后在保存完成后将其打印出来。

在你的代码中,

this.savePerson(hash).then(function(record){
  console.log(record.get('id'));
  self.saveAgentAssociation(agentAddress)
});      

http://jsbin.com/isoYayA/4/edit