3

我有以下路线:

@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.

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

4

1 回答 1

8

这里有几个不同的问题:

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

我不确定你为什么要命名你的路线GroupsRoute。既然它代表一个事件,你应该命名它EventRoute。这不是必需的,但它会更惯用。此外,您不需要为GroupsRoute. 您正在做的是默认行为。

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

于 2013-01-18T16:16:22.830 回答