我有以下路线:
@resource 'groups', {path: 'events/:event_id/groups'}, ->
@route 'new'
在我的新路线中,为了构建一个新的App.Group对象,我需要知道我们所处的事件。
所以我有以下路线,它对应于资源:
App.GroupsRoute = Ember.Route.extend
model: (params) ->
App.Event.find params.event_id
与路线对应的那个:
App.GroupsNewRoute = Ember.Route.extend
model: ->
App.store.createRecord App.Group
我需要在创建时指定组的事件。但是,在GroupsNewRoute中,我似乎无法检索事件。参数不包括event_id
。
如何从路线中的父资源获取模型?
答案 0 :(得分:8)
这里有一些不同的问题:
您不应该使用App.store
。商店应该在this.get('store')
的路线上可用。
我不确定你为什么要命名你的路线GroupsRoute
。由于它代表一个事件,因此您应将其命名为EventRoute
。这不是必需的,但它更具惯用性。此外,您无需为GroupsRoute
指定模型。你正在做的是默认行为。
最后,您可以通过路线中的this.modelFor('groups')
获取另一条路线的模型。这应该可以解决你的问题。