0

我正在使用 Ember 1.0 和 Ember-Data 1.0Beta。我正在尝试将动态段传递给这样的路由:

@resource 'organization', path: 'organizations/:organization_id', ->
  @route 'edit'

然后在我的编辑路线中:

Whistlr.OrganizationEditRoute = Ember.Route.extend
  model: (params) ->
    @store.find('organization', params.organization_id)

不幸的是,参数散列变成了空的。当我在控制台中检查它时,它只是一个简单的{}. 反过来,params.organization_id为空。即使 URL 看起来正确,也会发生这种情况:“/organizations/1/edit`

这与Ember 指南中的设置非常相似。我会做错什么吗?

4

1 回答 1

1

原因是动态段 ( :organization_id) 是资源的一部分organization而不是edit资源。这意味着OrganizationRoute只有params.organization_id.

但是,如果您需要模型,您OrganizationEditRoute可以使用modelFor它来访问它。

Whistlr.OrganizationEditRoute = Ember.Route.extend
  model: (params) ->
    @modelFor('organization')

这允许OrganizationRoute从它的动态段加载模型,然后OrganizationEditRoute可以像这样简单地访问该模型。

于 2013-10-17T21:45:00.040 回答