具有动态段的资源并在嵌套路径中检索模型

时间:2013-01-18 10:06:43

标签: 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

与路线对应的那个:

App.GroupsNewRoute = Ember.Route.extend
  model: ->
    App.store.createRecord App.Group

我需要在创建时指定组的事件。但是,在GroupsNewRoute中,我似乎无法检索事件。参数不包括event_id

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

1 个答案:

答案 0 :(得分:8)

这里有一些不同的问题:

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

我不确定你为什么要命名你的路线GroupsRoute。由于它代表一个事件,因此您应将其命名为EventRoute。这不是必需的,但它更具惯用性。此外,您无需为GroupsRoute指定模型。你正在做的是默认行为。

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