2014-03-04 55 views
0

我已經過去了文檔,我看不出我做錯了什麼。Ember嵌套的路線不會顯示?

Router.map

App.Router.map(function(){ 
    this.resource('users', function(){ 
    this.resource('user', { path: ':user_id' }); 
    this.resource('add'); 
    }); 
}); 

車把

<script type="text/x-handlebars" id="users/add"> 
    <h3>Add User</h3> 
</script> 

我與我的鏈接到正確的網址: {{#link-to 'add'}}Add User{{/link-to}}

但是我的車把模板的內容對於用戶/添加永不顯示?

這裏是我的路線

App.UsersRoute = Ember.Route.extend({ 
    model: function(){ 
    console.log("Users route triggered"); 
    return App.Users; 
    } 
}); 

App.UserRoute = Ember.Route.extend({ 
    model: function(params){ 
    return App.Users.findBy('id', params.user_id); 
    } 
}); 

App.UserAddRoute = App.UserRoute.extend({ 
    renderTemplate: function(){ 
    console.log("Users Add Route triggered"); 
    this.render('users/add'); 
    } 
}); 

這裏是我的jsbin:http://jsbin.com/denap/3/edit?html,js,output

回答

2

你的代碼有一些錯誤,因爲handlebars模板塊由data-template-name來確定,而非通過id。還可以聲明add爲嵌套route比嵌套resource - 看到更新後(&工作)jsbin這裏:http://jsbin.com/yuzedacu/1/edit

+0

有趣,我剛琢磨出來然後回到這裏之前:「路線」而不是「資源」 .. jeez,總是那些小細節。非常感謝,關於id而不是data-template-name語法,後者絕對更簡潔,但我養成了使用來自於ember指南的id的習慣。不知道爲什麼他們都有,但id確實起作用? – micahblu

+0

ps認爲你的頭像是一隻潛水虎鯨潛入海洋 – micahblu

+0

@micahblu我檢查過它,並確實在使用'id'而不是'data-template-name'時識別'handlebars'腳本塊... cool !我一直認爲我的頭像是一個batcat,但它似乎是某種口袋妖怪;) – herom