我想我已经关闭了 Ember 的嵌套资源(主详细信息)。但我试图通过has_many
我的数据中的关系将嵌套更深一层。我使用 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
,所以我试图访问这个 url (master-detail-detail):
/#/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>