在Ember中获取多态父路由

时间:2014-03-11 17:00:45

标签: ember.js ember-data

如何动态获取路线的父路线模型。说我的路由器看起来像这样:

App.Router.map ->

  @resource 'farms', ->
    @resource 'farm', path: '/:farm_id', ->
      @resource 'attachments'

  @resource 'fields', ->
    @resource 'field', path: '/:field_id', ->
      @resource 'attachments'

如果我有2条路线:App.FieldRoute和App.AttachmentsIndexRoute,我想从App.AttachmentsIndexRoute获取Field模型,我可以这样做:

model: ->
  @modelFor('field')

我如何动态地做同样的事情,而不是明确指定模型的路线?换句话说,如果我正在查看Farm的附件,那么相同的代码应该可以工作。

(Ember中没有办法从嵌套路线中获取父路线吗?)

更新:

看起来没有干净的(API)方法来执行此操作。我发现了一些使用router.currentHandlerInfos等内部属性的黑客攻击。可能必须走这条路,直到Ember团队添加了一个正确的方法。

1 个答案:

答案 0 :(得分:0)

没有API,我认为它会保持这种状态。

一个干净的解决方法是重新打开Route并添加此功能。

见这里:Getting parent route in EmberJS