ember-cli / pod:嵌套资源/模板

时间:2015-02-02 19:03:25

标签: templates ember.js routes nested-resources

我已经阅读了各种stackoverflow线程和其他论坛条目,但我无法弄清楚如何使用 ember-cli 0.1.12 pod <获取嵌套资源/模板/ strong>结构。

版本:

  • Ember:1.8.1(也尝试过1.9.1)
  • Ember数据:1.0.0-beta.12
  • 把手:1.3.0(也尝试过2.0.0)
  • jQuery:1.11.2

我的router.js(未更改,cli创建它,仅用于演示目的):

Router.map(function() {
    this.resource("controls", function() {
    this.route("statements");
    this.resource("handles", function() {});
});

情况:

  • 除了在创建的template.hbs
  • 中生成命令和文本标记之外,没有其他修改
  • 资源&#34;控件&#34;:模板按预期显示
  • 路线&#34;控制/陈述&#34;:模板按预期显示
  • 资源&#34;处理&#34;在资源&#34;控制&#34;根本没有渲染。
  • 后续路线unter&#34;控制/处理&#34;也没有用。
  • 当我调用http://localhost:4200/controls/handles时,ember inspector只列出&#34; application&#34;和&#34;控制&#34;在视图树中。在ember inspector routes部分中,它列出了:handles.index HandlesIndexRoute发送到控制台 HandlesIndexController发送到控制台 处理/指数 /控制/手柄

我试过了:

  • 切换余烬和车把版本 - 没效果
  • 不使用pod结构 - 没有效果
  • 在handle pod文件夹中手动添加index.hbs模板 - 无效

我觉得我在这里错过了一个基本点。 你能帮帮我吗?

谢谢你, 曼努埃尔

1 个答案:

答案 0 :(得分:0)

我无法帮助解决pod问题,但可以尝试另一个问题。 嵌套资源的性质是什么?

我希望网址如下:&#34; .. controls /:control_id / handles&#34;。

我会写这样的:

this.resource('controls', function() {
  this.route('statements');
  this.route('show', { path: ':control_id' }, function() {
    this.resource('handles', function() {
    });
  });
});

尼克