我有一条路线,我需要获取父路由中不可用的关联数据,因此我需要基本上重新加载模型,并在此过程中为JSONAPI提供include指令以嵌入其他模型。所以路线看起来像这样。
import Ember from 'ember';
// route for patients/1/appointments
export default Ember.Route.extend({
model: function() {
const query = {
id: this.modelFor('patient').get('id'),
include: 'appointments,appointments.practitioner'
},
success = function(patient) {
return patient.get('appointments');
};
return this.store.queryRecord('patient', query).then(success);
}
});
成功回调是第二次获取约会,这可能并不奇怪,但它似乎也应该知道它在商店本地存在。所以,我正在尝试解决一种合理的方法将模型设置为回来的约会模型集。由于各种原因,我们不希望这个特定请求的逻辑存在于适配器中,因为(例如)我们可能并不总是需要在我们获得患者预约时随时加载从业者。有什么想法吗?
答案 0 :(得分:1)
我认为首先@Override
protected void onPause() {
super.onPause();
//stop or pause your music here.
}
之后,您的服务器响应肯定存在问题。
I created simple Ember Twiddle that matches your example and is based on mockjax here。正如您在打开Console时所看到的那样,mockjax只收到两个请求 - 第一个用于@Override
protected void onResume() {
super.onResume();
// play your music here.
}
,第二个用于queryRecord
(您的/patient/1
)。
即使我正在呈现与当前患者有关系的所有约会,但mockjax也没有获得任何其他关系查询。您可以查看我为mockjax提供的JSON响应。您应该将它们与您的API进行比较,看看结构是否有所不同。