我想我有Ember的嵌套資源(master-detail)。但我試圖繼續更深一層的巢,但通過我的數據中的has_many
關係。我使用EmberData和Rails作爲API,我相信它是按照預期設置和工作的。但嵌套向下一個級別在我的模板和路由器被絆倒我,我似乎無法找到的例子在那裏......通過與EmberData和rails API的簡單關係嵌套路線?
這是我目前的路由器(使用RC1,我認爲):
EmberGallery.Router.map(function() {
this.resource('uploads', function() {
this.resource('upload', { path: ':upload_id' });
});
this.resource('collections', function() {
this.resource('collection', { path: ':collection_id' });
this.route('new');
});
});
其中產生:
/#/uploads/1
/#/collections/1
很好,真棒。但是,在我的應用程序的集合has_many
上傳,所以我試圖去這個網址(主 - 從):
/#/collections/1/2
ID:1是collection_id
(其中包含了一堆上傳的,這 偉大工程)
ID:2作爲一個upload_id
(我怎麼在這得到)
將我的路由器是什麼樣的?還有什麼需要這個工作?
編輯:我添加了我的集合模板,它顯示並鏈接到屬於單一集合的上傳。基本上這會正確顯示關聯的上傳,但鏈接將我帶回#/ uploads/1而不是#/ collections/1/2(其中2是集合1中的上傳)。顯然我的鏈接是錯誤的,但我懷疑我的真正問題是我拉着一個集合的上傳是不正確的。
模板/ collection.js.hbs
<aside class="span8">
<header>
<h4>Collection: {{title}}</h4>
</header>
<ul class="thumbnails">
{{#each upload in uploads}}
<li class="span3">
<aside class="thumbnail">
{{#linkTo 'upload' this}}<img {{bindAttr src="upload.url"}} alt="{{upload.title}}">{{/linkTo}}
{{title}}
</aside>
</li>
{{/each}}
</ul>
</aside>
<article class="span4">
{{outlet}}
</article>
嗨,謝謝你。這似乎是有道理的。不幸的是,我似乎有其他問題與我的模板命名,也許使用我的控制器,因爲我無法得到這個工作......我要將我的收藏模板添加到我原來的職位。 – 2013-04-25 16:12:36
選中此項:[JS Bin](http://jsbin.com/odovul/19/)。 – Costent 2013-04-28 15:51:05