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 余烬数据';s API调用签名_Ember.js_Ember Data - Fatal编程技术网

Ember.js 余烬数据';s API调用签名

Ember.js 余烬数据';s API调用签名,ember.js,ember-data,Ember.js,Ember Data,我是Ember数据的新手,刚从FIXTURE数据切换到RESTAdapter,但我对如何连接模型和API的调用签名知之甚少。具体来说,我希望能够调用端点GET/activities/[:user\u id]/[:by\u date]。这将加载一个“活动”对象数组,但只加载给定日期的对象 路由器: this.resource('activities', { path: '/activities' }, function() { this.route('by_date', {path: '/

我是Ember数据的新手,刚从FIXTURE数据切换到RESTAdapter,但我对如何连接模型和API的调用签名知之甚少。具体来说,我希望能够调用端点
GET/activities/[:user\u id]/[:by\u date]
。这将加载一个“活动”对象数组,但只加载给定日期的对象

路由器:

this.resource('activities', { path: '/activities' }, function() {
    this.route('by_date', {path: '/:user_id/:by_date'});
});
路线:

App.ActivitiesByDateRoute = Ember.Route.extend({  
    serialize: function(activity) {
      return {
        userId: 1,
        dateBy: "2013-07-01"
      };
    }     
});
首先,我尝试对
userId
dateBy
的值进行硬编码,对上面的路由进行调整。遗憾的是,这没有起作用。我想我理解为什么——虽然我没有一个快速的方法来解决这个问题——但更让我不安的是,当我手动将参数放入URL时:
http://restful.service.com/api/activities/1/2013-07-01
。结果令我十分惊讶:

  • 最初,调试消息表明已成功:
  • 然而,这是不正确的,因为实际上没有网络请求
  • 如果您重新加载浏览器,它现在将出去并获取活动,但令我惊讶的是,它也会出去查找指定的用户。嗯。没关系,用户1被成功地拉回。
  • 然而,活动只是一个
    GET/activities
    调用,该调用失败,因为该端点需要用户和日期限定符才能工作。为什么这些不包括在请求中?

我认为余烬数据不支持“复合密钥”(这基本上就是您正在尝试的)。您可能需要为该特定模型构建自己的Ajax,并在该特定路由的模型挂钩中实现它。如果您想要一个余烬数据模型,您可以随时获取数据并将其侧向加载到余烬数据中。

当您说“侧向加载到余烬数据”时,我不确定您的意思。我对侧加载引用id很熟悉,但我想你可能指的是稍有不同的东西?我参加了Tom和Yehuda(创始人)的培训,他们讨论了如何构建Ember数据来解决模型和id的千篇一律的解决方案。也就是说,Ember不需要Ember数据。还有其他处理模型的方法,例如ember模型。而侧向加载则是获取模型的json并将其推入ember数据/模型的过程,而不实际加载模型。然后,当您请求一个与侧加载数据的id相匹配的模型时,它将构建模型,而不返回服务器。