我是Ember Data的新手,我刚从FIXTURE数据切换到RESTAdapter,但我对如何连接模型和API的调用签名知之甚少。具体来说,我希望能够调用端点GET /activities/[:user_id]/[:by_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
时。结果对我来说非常惊讶:
GET /activities
调用失败,因为此端点需要用户和日期限定符才能工作。为什么这些不包括在请求中?
答案 0 :(得分:0)
我不认为ember数据支持“复合键”(这基本上就是你想要做的)。您可能需要为该特定模型构建自己的Ajax,并在该特定路径的模型钩子中实现它。如果您想拥有一个余烬数据模型,可以随时获取数据并将其加载到ember-data中。