Ember.js 动态段错误 正如大多数冬眠者所知道的那样,我现在正在撕开我的头发,试图克服EmberJS的垂直墙,这样我就可以在它的顶峰到达天堂。p>
以下是我目前的情况:Ember.js 动态段错误 正如大多数冬眠者所知道的那样,我现在正在撕开我的头发,试图克服EmberJS的垂直墙,这样我就可以在它的顶峰到达天堂。p>,ember.js,ember-router,Ember.js,Ember Router,以下是我目前的情况: <script type="text/x-handlebars" data-template-name="dogs"> <h2> Pick a stack to view its cards </h2> <ul class="nav"> {{#each model}} <li>{{#linkTo 'dog' this}} {{name}} {{/linkTo}}</
<script type="text/x-handlebars" data-template-name="dogs">
<h2> Pick a stack to view its cards </h2>
<ul class="nav">
{{#each model}}
<li>{{#linkTo 'dog' this}} {{name}} {{/linkTo}}</li>
{{/each}}
</script>
因此,DogRoute的模型钩定义如下:
App.DogRoute = EmberRoute.Extend({
model: function(params){
return App.Dog.find(params.id);
}
});
最后,模型本身非常基本:
App.Dog = DS.Model.extend({
name = DS.attr('string')
});
在我的例子中,DS是一堆固定装置,所以我不想费心写下来。然而,这不起作用,我不知道为什么。以下是我访问dogs route时不断遇到的错误,我希望呈现一组指向dog的链接:
ember-…rc.5.js(第356行)
未捕获异常:传递的上下文对象多于路由的动态段:dog
有人能指出这里做错了什么吗
注意:如果我删除动态段,只需在我的狗把手内渲染一条狗路线(从把手上取下),则链接(狗名)不会被渲染。但是,我需要这些路线是动态段,而不仅仅是带有由余烬/车把自动生成的唯一ID的超链接 您的路由器声明错误。我应该更喜欢这样:
App.Router.map(function() {
this.resource('dogs');
this.resource('dog', {path: '/:dog_id'});
});
App.Router.map(function() {
this.resource('dogs', function() {
this.resource('dog', {path: '/:dog_id'});
});
});
你的路由器声明是错误的。我应该更喜欢这样:
App.Router.map(function() {
this.resource('dogs');
this.resource('dog', {path: '/:dog_id'});
});
App.Router.map(function() {
this.resource('dogs', function() {
this.resource('dog', {path: '/:dog_id'});
});
});
你得到的错误
余烬-…rc.5.js(第356行)未捕获异常:传递的上下文对象多于路由的动态段:dog
可能与您的路由映射有关。您应该这样定义路由:
App.Router.map(function() {
this.resource('dogs');
this.resource('dog', {path: '/:dog_id'});
});
App.Router.map(function() {
this.resource('dogs', function() {
this.resource('dog', {path: '/:dog_id'});
});
});
此外,由于这是余烬的默认行为(请参见动态模型下):
您不需要显式定义它,因此可以删除它。
就我所见,其余的接缝都是正确的。
我也把一个工作,看看
希望有帮助。您遇到的错误
余烬-…rc.5.js(第356行)未捕获异常:传递的上下文对象多于路由的动态段:dog
可能与您的路由映射有关。您应该这样定义路由:
App.Router.map(function() {
this.resource('dogs');
this.resource('dog', {path: '/:dog_id'});
});
App.Router.map(function() {
this.resource('dogs', function() {
this.resource('dog', {path: '/:dog_id'});
});
});
此外,由于这是余烬的默认行为(请参见动态模型下):
您不需要显式定义它,因此可以删除它。
就我所见,其余的接缝都是正确的。
我也把一个工作,看看
希望能有帮助