2015-06-19 112 views
0

我有一个app模型和应用程序有一个idnameEmber.js - 渲染模型的其他数据

this.resource("apps", function() { 
    this.route('show', { path: ':app_id' }); 
    }); 

我想做出关于应用程序的show图显示指标,但查询是相当激烈的,所以我不想把它列入了调用index视图(让我们说这是一张桌子)。

我不确定这是否可能与烬数据,因为app已经在商店有简化的有效载荷,而不是重新请求的show视图来获取指标。

然后我的头就开始制定一个完全不同的模型,从apps/1/metrics可以访问,然后使它成为另一个模型和一切。

但是,如果我sideload的数据,我必须提供ID参考metrics特定app。它是hasOne,所以没有像数据库支持模型那样真正的ID。

加载关于模型的其他数据或展开show view中提供的信息的最佳方式是什么?

后端是Rails,这是一个ember-cli项目。

回答

1

最简单的方法是在RouteafterModel处理程序来检索数据:

var ShowRoute = Ember.Route.extend({ 
    model: function(params) { 
    // Load the model and return it. 
    // This will only fire if the model isn't passed. 
    }, 
    afterModel: function(model, transition) { 
    // Load the rest of the data based on the model and return it. 
    // This fires every time the route re-loads (wether passed in or via model method). 
    } 
}); 
+0

疑难杂症。所以如果我想要获得额外的查询来获取所有在“show”路径中的指标,那就是了吗? – brandonhilkert

+0

@brandonhilkert - 正确。您可以在'model'处理程序中加载原始模型,然后根据'afterModel'中的模型加载任何额外的数据。 –