【发布时间】:2015-03-05 19:59:10
【问题描述】:
我有三个模型,辛迪加、用户和活动。每个辛迪加都有许多活动,每个活动都有一个用户。我的模型如下所示:
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' 设置为 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 很陌生。
谢谢:)
【问题讨论】:
-
连接模型的路线是什么样的?
-
嗨@Dhaulagiri,我已经添加了我请求辛迪加的路线。我还进一步扩大了这个问题,以展示我试图建立的一对多关系。谢谢。
标签: ember.js ember-data