好的家伙 - 真的不应该比这更简单。我定义了一个名为about的路由,并在我的模板中添加了一个linkTo,在插座中运行并且ember按预期工作。
然后我添加了一个名为foobars的路由,对它做了同样的事情并得到了一个未被捕获的错误:
Uncaught Error: assertion failed: The attempt to linkTo route 'foobars' failed. The router did not find 'foobars' in its possible routes: 'about', 'index'
这是我的余烬
App = Ember.Application.create()
App.Router.map(function(){
this.resource('about');
this.resource('foobars');
});
我的简单html
<body>
<h1>ember</h1>
<script type="text/x-handlebars">
<h2>application template</h2>
<a>{{#linkTo 'about'}} about {{/linkTo}}</a>
<a>{{#linkTo 'foobars'}} foobars {{/linkTo}}</a>
{{ outlet }}
</script>
<script type="text/x-handlebars" id="about">
<h2>about template</h2>
</script>
<script type="text/x-handlebars" id="foobars">
<h2>foobars template</h2>
</script>
就像我说的,它适用于about模板,所以我知道我的配置没问题。我也试过单独添加它们,如下:
App.Router.map(function(){
this.resource('about');
});
App.Router.map(function(){
this.resource('foobars');
});
我希望定义两条路线与定义一条路线没有太大区别,但我似乎并不理解某些东西。有人能指出我理解的错误吗?谢谢!
答案 0 :(得分:0)
我认为您在重新加载页面之前没有保存文件。我尝试了你的例子,它对我很有用。
但是当我评论foobars
路线时:
App = Ember.Application.create();
App.Router.map(function() {
this.resource("about");
//this.resource("foobars");
});
我的控制台中出现了同样的错误:
Error: assertion failed: The attempt to linkTo route 'foobars' failed. The router did not find 'foobars' in its possible routes: 'about', 'index'
答案 1 :(得分:-1)
您需要在表单中定义路线:
App.FoobarsRoute = Ember.Route.extend({
model: function() {
return App.Foobars.find();
}
});
这通常会放在自己的文件中:/routes/foobars_route.js