链接到无法访问资源中的嵌套路由

时间:2013-12-02 23:42:18

标签: ember.js

我不能让它发挥作用。问题在于projects路由,notesinfo路由未被链接

App.Router.map(function() {
  this.resource('about');
  this.resource('projects', function() {
    this.route('new');
    this.resource('project', { path: ':project_id'}, function(){
      this.route('info', { path: "/info"});
      this.route('notes', { path: "/notes"});
    });
  });
  this.resource('posts', function() {
    this.route('new');
    this.resource('post', { path: ':post_id' });
  });
});

调用projectproject_notes.hbs的{​​{1}}模板如下所示。

project_info.hbs

阅读this之后,我能够更进一步,但仍然无法正常工作。如果您需要<div class="navbar navbar-inverse"> <div class="navbar-inner"> <a class="brand" href="#">{{title}}</a> <ul class="nav"> <li>{{#link-to 'project.Info' project}}Info{{/link-to}}</li> <li>{{#link-to 'project.Notes' project}}Notes{{/link-to}}</li> </ul> </div> </div> {{outlet}} 模型等更多信息,请与我们联系。

错误

project

提前致谢。

修改

路线是This link-to is in an inactive loading state because at least one of its parameters presently has a null/undefined value, or the provided route name is invalid. ,这很好,指点网址是ProjectInfoRoute,这也绝对没问题。但是,当我点击/projects/:project_id/info以便转到Project / Project_id时,它会显示Project

如果我使用There is no route named info.index,这会将info定义为this.route,就像this.resource的路由被扭曲一样,因为它是info而不是{{1} }}。 (如果我使用资源,在进入项目模板后,我点击InfoRoute,我无法看到该模板。)我在这里摸不着头脑。

1 个答案:

答案 0 :(得分:2)

不要发送它,另外它应该是链接到小写

<ul class="nav">
{{#if model}}
      <li>{{#link-to 'project.info' model}}Info{{/link-to}}</li>
      <li>{{#link-to 'project.notes' model}}Notes{{/link-to}}</li>  
{{else}}
    do some other menu here, go to projects, or something
{{/if}}
</ul>

另外,通过将属性放入模板或记录它们,您可以很容易地找到属性的范围和值

{{project}}
{{log project}}
{{log model}}
{{log this}}