0

我有一个包含用户活动的后端资源,并且在应用程序中我想根据一天的活动价值呈现活动。我在路由器中定义了一个ArrayController调用的活动控制器,如下所示:

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

REST API 提供以下 GET 方法:

GET /activities/[by_date]

到目前为止,这看起来非常对称且可以实现,但我遇到了两个问题:

  1. 参数化数组 find。通常,参数化路由将由 a 提供服务,ObjectController但在这种情况下,by_date参数只是减少/过滤活动数组,但它仍然是返回的数组。我不确定如何在模型钩子中构造它,ActivitiesRoute以便它有效地执行“findAll”而不是期望一个单一的结果集。
  2. 由于功能. 由于带回这些活动数组需要合理的网络成本,我希望尽可能地减少这一点,并且 REST API 通过允许将since参数与最后一次请求的日期一起传递来支持这一点。这样,304如果自上次调用以来没有更新记录,并且如果有新记录,则仅返回记录,则服务器只需使用代码进行响应。反正有没有用 ember-data 来“开箱即用”?这是否需要构建自定义适配器?如果是这样,是否有任何可用的开源解决方案?

ps 我在想#2 的部分答案可能是合并 Alex Speller 的查询参数http ://discuss.emberjs.com/t/query-string-support-in-ember-router/1962/48

4

1 回答 1

1

您的路线的模型挂钩是什么样的?我在想这样的事情应该有效:

model: function(params) {
  return this.store.find('activity', { by_date: params.by_date });
}
于 2013-10-02T20:39:30.670 回答