Ember.js 动态段未传递到路由参数

Ember.js 动态段未传递到路由参数,ember.js,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('orga

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


这与中的设置非常相似。有什么可能出错?

原因是动态段(
:organization\u id
)是
组织
资源的一部分,而不是
编辑
资源。这意味着只有
组织路由
才有权访问
参数组织id

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

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

这使得
OrganizationRoute
可以从其动态段加载模型,然后
OrganizationEditRoute
可以像这样简单地访问该模型。

谢谢你,Ryan。这解释了很多。我在很多示例中看到了modelFor,但直到现在还不知道该如何使用它。