我试图在Ember的Publishables
的嵌套路线中添加一些操作:
Router.map(function() {
this.resource('publishables', {path: '/publishables'}, function() {
this.resource('publishable', { path: ':publishable_id' });
});
});
export default Router;
Publishables
路线:
export default Ember.Route.extend({
model: function(params) {
return this.store.find('publishable', { page: params.page });
}
});
Publishables
型号:
export default DS.Model.extend({
title: DS.attr(),
description: DS.attr(),
authors: DS.hasMany('author', { async: true }),
category: DS.belongsTo('category', { async: true }),
published: DS.attr(),
publish_from: DS.attr(),
slug: DS.attr(),
contentType: DS.attr()
});
Publishables
控制器:
export default Ember.ArrayController.extend({
actions : {
preview: function(id) {
this.transitionToRoute('publishable', id);
}
}
});
Publishables
模板:
<h2>Publishables</h2>
{{#each}}
<p {{action "preview" id}}>{{title}}</p>
{{/each}}
{{outlet}}
这非常有用。如果我点击{{title}}
,它会转换为publishable/:id
,相应的数据会加载到{{outlet}}
。
现在我想向Publishable
添加一些操作。如果我像Publishable
控制器那样创建一个Publishables
控制器,那么一切都会中断。我认为这是因为Publishable
是Publishables
的孩子。任何人都可以指导我如何在嵌套路线中获取动作?