动态段未传递给路径参数

时间:2013-10-17 21:04:35

标签: ember.js

我正在使用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 hash变空了。当我在控制台中检查它时,它只是一个简单的{}。反过来,params.organization_id为空。即使URL看起来正确,也会发生这种情况:“/ organizations / 1 / edit`

这与Ember guides中的设置非常相似。我怎么会出错?

1 个答案:

答案 0 :(得分:1)

原因是动态细分受众群(:organization_id)是organization资源的一部分,而不是edit资源。这意味着只有OrganizationRoute才能访问params.organization_id

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

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

这允许OrganizationRoute从其动态细分中加载模型,然后OrganizationEditRoute可以像这样简单地访问该模型。