Ember.js 具有动态段的资源,并在嵌套路由中检索模型

Ember.js 具有动态段的资源,并在嵌套路由中检索模型,ember.js,ember-router,Ember.js,Ember Router,我有以下路线: @resource 'groups', {path: 'events/:event_id/groups'}, -> @route 'new' 在我的新路线中,为了构建一个新的App.Group对象,我需要知道我们参加的是哪个活动 因此,我有以下路径,对应于资源: App.GroupsRoute = Ember.Route.extend model: (params) -> App.Event.find params.event_id 以及与路线相对

我有以下路线:

@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中,我似乎无法检索事件。参数不包括
事件id


如何从路由中的父资源获取模型?

这里有几个不同的问题:

您不应该使用
App.store
。商店应在路径上可用,如
this.get('store')

我不知道您为什么要命名路由
GroupsRoute
。因为它代表一个事件,所以应该将其命名为
EventRoute
。这不是必需的,但它会更为惯用。此外,您不需要为
GroupsRoute
指定模型。您所做的是默认行为


最后,您可以通过路径中的:
this.modelFor('groups')
获取另一条路径的模型。这应该可以解决您的问题。

GroupsRoute不代表事件。它表示嵌套在事件中的组列表。