如何使用Ember.js将父ID发送到hasMany JSON查询?

时间:2013-12-11 16:53:47

标签: json ember.js ember-data

我想在网络的JSON查询中包含服务器ID字段。 App.NetworkRoute没有被调用,我不知道为什么。我看到/ networks / ids [] = 1的查询....我可以使用它,但我需要获取服务器的ID,因为我有重叠的网络ID,具体取决于所选的服务器。

这是一个我从中提取数据的专有系统,如果不进行双数据输入就不容易改变。

这是代码的Ember.js部分:

App.Router.map(function () {
  this.route('server',{path: "/"});
  this.resource('server');
  this.resource('networks');
  });

});

App.ServerRoute = Ember.Route.extend({
  model: function () {
    return this.store.find('server');
  }  
});

App.NetworkRoute = Ember.Route.extend({  
  model: function (server) {  
    return this.store.find('network', {serverId: server.id});
  }
});

var attr = DS.attr,
    hasMany = DS.hasMany,
    belongsTo = DS.belongsTo;

App.Server = DS.Model.extend({
  name: DS.attr('string'),
  ip: DS.attr('string'),
  networks: DS.hasMany('network',{async:true})
});

App.Network = DS.Model.extend({
  name: DS.attr('string'),
  server: belongsTo('server')
});

1 个答案:

答案 0 :(得分:0)

它们不是相关的路线,它们就像3个不同的文件夹,都位于根。

网络应该是网络

你想要他们这样,网络是服务器的孩子吗?

this.resource('server', function(){
  this.resource('networks');
})

http://emberjs.com/guides/routing/defining-your-routes/#toc_nested-resources