Ember.js 嵌套资源中的余烬操作
我正在尝试向Ember中的Ember.js 嵌套资源中的余烬操作,ember.js,controller,nested-routes,Ember.js,Controller,Nested Routes,我正在尝试向Ember中的可发布文件的嵌套路径添加一些操作: Router.map(function() { this.resource('publishables', {path: '/publishables'}, function() { this.resource('publishable', { path: ':publishable_id' }); }); }); export default Router; 可发布内容路线: export default Emb
可发布文件的嵌套路径添加一些操作:
Router.map(function() {
this.resource('publishables', {path: '/publishables'}, function() {
this.resource('publishable', { path: ':publishable_id' });
});
});
export default Router;
可发布内容
路线:
export default Ember.Route.extend({
model: function(params) {
return this.store.find('publishable', { page: params.page });
}
});
可发布的
模型:
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()
});
可发布
控制器:
export default Ember.ArrayController.extend({
actions : {
preview: function(id) {
this.transitionToRoute('publishable', id);
}
}
});
以及可发布内容
模板:
<h2>Publishables</h2>
{{#each}}
<p {{action "preview" id}}>{{title}}</p>
{{/each}}
{{outlet}}
可发布
{{{#各}
{{title}
{{/每个}}
{{outlet}}
这真是太棒了。如果我单击{{title}}
,它将转换为可发布/:id
,并在{outlet}}
中加载相应的数据
现在,我想向可发布的添加一些操作。如果我创建一个类似于可发布
控制器的可发布
控制器,那么一切都会中断。我相信这是因为可发布的
是可发布的
的孩子。有人能告诉我如何将操作绑定到嵌套路由中的正确方向吗?你能展示你正在使用的代码吗?这主要是在我创建PublishableController
时,我丢失了模型提供的数据的上下文。在publishable.hbs中,我无法访问{{{id}}
,{{title}}
等。我不知道为什么会发生这种情况?因此,我无法在所述控制器内创建操作:{}
。从技术上讲,它应该继承自Publishables
,因为它是一个嵌套资源,对吗?