我有三个模型,辛迪加,用户和活动。每个辛迪加都有许多活动,每个活动都有一个用户。我的模型看起来像这样:
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,我得到了该集团的活动列表,每个活动都有一个用户名,但是每个用户都在触发对api的单独请求 - 非常慢且昂贵。我想知道我是否无法在单个查询中请求用户。
我的reading建议我可以简单地设置' coalesceFindRequests'是真的,但这对我没有用
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
关于我做错的任何指示?我非常陌生。
谢谢:)