1
我的代碼很簡單,我的html:
<script type="text/x-handlebars" data-template-name="sites">
<ul>
{{#each controller}}
<li>
{{#linkTo 'sites.index' site}} {{siteName}} {{/linkTo}}
</li>
{{/each}}
</ul>
</script>
我的灰燼代碼:
WebApp.Router.map(function() {
this.resource('sites', { path: '/' } , function() {
this.route('index', { path: '/:site_id' })
});
});
//returns all Sites to display
WebApp.SitesRoute = Ember.Route.extend({
model: function() {
return WebApp.Site.find();
}
});
WebApp.Site = DS.Model.extend({
id: DS.attr('integer')
});
WebApp.Site.FIXTURES = [
{
id: 1,
siteName: gff1.com
},
{
id: 2,
siteName: gff2.com
},
{
id: 3,
siteName: gff3.com
}
];
我想和站點的列表鏈接到/sites/index/<ID>
當我運行此代碼時,我得到Assertion failed: Cannot call get with 'id' on an undefined object.
我在做什麼錯了?
感謝的人,是你提到下來的辦法就是我做它的方式,但我在燼一個新的,所以我不知道這是否是這樣寫的。爲什麼你這個'this.resource('site',{path:':site_id'})'而不是'this.route('site',{path:':site_id'})'?它也與'路線' – Canttouchit
一起工作「經驗法則是使用資源名詞,形容詞(收藏)或動詞(編輯)的路線。」 - http://emberjs.com/guides/concepts/naming-conventions/它也使路由更清潔linkTo,例如。網站和網站,而不是網站和sites.site – RyanHirsch