使用 ember.js,如何防止对每个相关对象进行单独查询

With ember.js, how do I prevent individual queries for each related object

我有三个模型,辛迪加、用户和活动。每个集团有很多活动,每个 activity 有一个用户。我的模型如下所示:

App.Syndicate = DS.Model.extend
  activities: DS.hasMany('activity', async: true)
  name: DS.attr 'string'

App.Activity = DS.Model.extend
  syndicate: DS.belongsTo('syndicate')
  user: DS.belongsTo('user', async: true)

App.User = DS.Model.extend
  activities: DS.hasMany('activity', async: true)

我使用

显示活动
article#lead
  h1= model.name

each activity in model.activities

  p
    = activity.id
  p
    = activity.user.name

查看 syndicate/1,我得到了该集团的活动列表,每个 activity 都有一个用户名,但每个用户都触发了对 [=34= 的单独请求] - 非常缓慢且昂贵。我想知道我是否不能在单个查询中请求用户。

我的 reading 建议我可以简单地将 'coalesceFindRequests' 设置为 true,但这对我不起作用

DS.RESTAdapter.reopen
  namespace: 'api/v1'
  coalesceFindRequests: true

App.Store = DS.Store.extend(
  serializer: DS.RESTSerializer.extend
  primaryKey: (type) ->
    '_id';
)
App.ApplicationAdapter = DS.ActiveModelAdapter.extend()

我的路线

App.SyndicateRoute = Ember.Route.extend
  model: (params) ->
    console.log params.syndicate_id
    @store.find 'syndicate', params.syndicate_id

关于我做错了什么的任何指示?。我是 ember.

的新手

谢谢:)

您可以旁加载聚合的相关数据。

http://emberjs.com/guides/models/the-rest-adapter/