我有以下路线:
this.resource('activities', { path: '/activities' }, function() {
this.route('on_date', {path: '/:user_id/:on_date'});
});
我希望能够轻松访问路由器和控制器中的变量:user和:on_date。我已经想出了一种获取此权限的方法,但这非常黑客。在我的控制器中,我可以这样做:
App.ActivitiesByDateRoute = Ember.Route.extend({
model: function() {
var params = this.router.location.location.hash.split('/');
// note: location hash is api/activities/:user_id/:on_date
return App.Activity.find({id:params[2], on_date: params[3]});
},
});
虽然我很高兴这有效,但显然不是一个好的解决方案。任何指向实现必须是一个非常常见的用例的指针将不胜感激。
答案 0 :(得分:1)
有一项功能可以直接检索动态模型上的参数。
App.ActivitiesByDateRoute = Ember.Route.extend({
model: function(params) {
return App.Activity.find({params.user_id, params.on_date});
}
});
它应该有用。
参考:http://emberjs.com/guides/routing/specifying-a-routes-model/#toc_dynamic-models