Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ember.js/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ember.js 在尝试将路由模型设置为关联结果时,防止Ember数据中出现重复请求_Ember.js_Ember Data_Json Api - Fatal编程技术网

Ember.js 在尝试将路由模型设置为关联结果时,防止Ember数据中出现重复请求

Ember.js 在尝试将路由模型设置为关联结果时,防止Ember数据中出现重复请求,ember.js,ember-data,json-api,Ember.js,Ember Data,Json Api,我有一个路径,需要获取父路径中不可用的关联数据,因此我需要基本上重新加载模型,并在这个过程中向JSONAPI提供include指令以嵌入其他模型。所以路线是这样的 import Ember from 'ember'; // route for patients/1/appointments export default Ember.Route.extend({ model: function() { const query = { id: this.mode

我有一个路径,需要获取父路径中不可用的关联数据,因此我需要基本上重新加载模型,并在这个过程中向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);
  }
});

成功回调是第二次获取约会,这也许并不奇怪,但它似乎也应该知道它在本地商店中有这些约会。所以,我正在尝试解决一种合理的方法,将模型设置为一组返回的约会模型。出于各种原因,我们不希望此特定请求的逻辑存在于适配器中,因为(例如)在获得患者预约时,我们可能并不总是需要医生端加载。有什么想法吗?

我认为在第一次
查询记录之后,服务器的响应肯定有问题

。当您打开Console时可以看到,mockjax只收到两个请求—第一个请求是
/patient/1
,第二个请求是
/patients?..
(您的
查询记录


即使我正在呈现与当前患者相关的所有预约,mockjax也不会得到任何其他关系查询。您可以查看我为mockjax提供的JSON响应。您应该将它们与您的API进行比较,看看它们的结构是否不同。

我最终通过使用过滤器直接查询约会端点来解决这个问题。为提供一个工作实例而做出的巨大努力的答案。也许它会帮助别人。谢谢