Ruby on rails 如何在Ember中实现HABTM?

Ruby on rails 如何在Ember中实现HABTM?,ruby-on-rails,ruby-on-rails-4,ember.js,ember-data,Ruby On Rails,Ruby On Rails 4,Ember.js,Ember Data,我得到了与上所述相同的HABTM(有许多,属于许多) 在ember数据中,如何定义医生、预约和患者之间的关系 在Rails中,via有很多直通,这很容易。或者,是否不需要在Ember中进行HABTM关联,因为它正在从API拉出/向API发送数据 不幸的是,仅显示了与两个模型的多对多关联 至少,您需要在约会模型中添加几个属于关系: App.Appointment = DS.Model.extend({ ... physician: DS.belongsTo('physician'),

我得到了与上所述相同的HABTM(有许多,属于许多)

在ember数据中,如何定义医生、预约和患者之间的关系

在Rails中,via有很多直通,这很容易。或者,是否不需要在Ember中进行HABTM关联,因为它正在从API拉出/向API发送数据


不幸的是,仅显示了与两个模型的多对多关联

至少,您需要在约会模型中添加几个属于关系:

App.Appointment = DS.Model.extend({
  ...
  physician: DS.belongsTo('physician'),
  patient: DS.belongsTo('patient'),
  ...
});
因此,无论何时保存约会,其子关系都将随之保存。我假设这就是您想要的,因为这就是您发布到Rails指南的链接中db的结构

其余部分在很大程度上取决于应用程序的结构,尤其是服务器的JSONAPI。例如,如果您有一名模特
医生
,您可能可以执行以下操作:

var query = { physician: physician.get('id') };
this.get('store').findQuery('appointment', query).then(function (results) {
  ...
});
如果您想查找医生的所有患者,只需返回一组属于所查找预约的唯一患者。这种方法非常简单易懂,但它没有充分利用余烬数据

或者,您可以尝试在您的医生和患者模型上定义一个has-many关系:
预约:DS.hasMany(“预约”)
,这有一些优点,但也需要更好地了解余烬数据