我正在使用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中的设置非常相似。我怎么会出错?
答案 0 :(得分:1)
原因是动态细分受众群(:organization_id
)是organization
资源的一部分,而不是edit
资源。这意味着只有OrganizationRoute
才能访问params.organization_id
。
但是,如果您需要OrganizationEditRoute
中的模型,则可以使用modelFor
来访问它。
Whistlr.OrganizationEditRoute = Ember.Route.extend
model: (params) ->
@modelFor('organization')
这允许OrganizationRoute
从其动态细分中加载模型,然后OrganizationEditRoute
可以像这样简单地访问该模型。