1

我有几个关于使用 basicAdapter api 来创建记录的问题。假设我有两个模型,如下所示,并且我想创建父记录,等待响应然后创建子记录,这是这样做的方法:

App.Contact = DS.Model.extend({
  address: DS.belongsTo("App.OneChild") 
});

App.Address = DS.Model.extend({
  street: DS.attr("string")
});

然后我在路由模型钩子或模型中创建记录。

contact = App.Contact.sync = {
   createRecord: function(contact, process) {
    process(contact).save();
  });
},

contact.on('didCreate', async(function() {
 address = App.Address.sync = { 
    createRecord: function(address, process){
     process(address).save();
    });
 }
});

问题2

我也可以做一个这样的嵌套帖子。这不是真正的代码,我只是修改了代码,以便从他们的博客文章中发出 ajax getJson 查找请求

  App.Contact.sync = {
   createRecord: function(contact, process) {
    $.post("/contacts/1/addresses/create", { contact_name: id   }).then(function(contact) {        
     process(contact)                 
      .primaryKey('contact_name')
      .camelizeKeys()
      .save();
     });
  }

问题 3

另外,在调用createRecord之前我是否总是需要像上面那样定义一个同步对象,如果是这样,是否意味着我只能从定义了同步函数的模型中调用createRecord。或者,我仍然可以从路由器或控制器调用 createRecord,而与定义同步对象的位置无关。代码中的一个示例将很有用。

谢谢你看这个。

4

0 回答 0