Javascript 使用余烬数据和sails.js返回空记录
前言:我是新来恩伯的 我在中设置了一个节点服务器,并使用ember作为前端。在我的路线文件中,我有以下内容:Javascript 使用余烬数据和sails.js返回空记录,javascript,ember.js,handlebars.js,sails.js,Javascript,Ember.js,Handlebars.js,Sails.js,前言:我是新来恩伯的 我在中设置了一个节点服务器,并使用ember作为前端。在我的路线文件中,我有以下内容: App.ApplicationRoute = Ember.Route.extend({ model: function(){ if(window.sessionStorage.getItem('current_user_id')){ App.CurrentUser = window.sessionStorage.getItem('curre
App.ApplicationRoute = Ember.Route.extend({
model: function(){
if(window.sessionStorage.getItem('current_user_id')){
App.CurrentUser = window.sessionStorage.getItem('current_user_id');
this.store.find('user', App.CurrentUser);
this.store.find('list', App.CurrentUser);
}
}
});
它应该预加载属于当前用户的列表,以便当用户转到#/list/index
时,所有列表都已加载
这是我调用#/lists/:id
{
"lists": [
{
"name": "popcicle",
"user_id": 1,
"createdAt": "2013-12-31T05:26:39.970Z",
"updatedAt": "2013-12-31T05:26:39.970Z",
"id": 48
},
{
"name": "happy dance",
"user_id": 1,
"createdAt": "2013-12-31T05:28:51.220Z",
"updatedAt": "2013-12-31T05:28:51.220Z",
"id": 49
},
{
"name": "something",
"user_id": 1,
"createdAt": "2013-12-31T05:34:53.616Z",
"updatedAt": "2013-12-31T05:34:53.616Z",
"id": 50
}
]
}
但是,当我在chrome中打开余烬检查器并转到数据->应用程序列表时,它显示了4项:
Id Name
1
48 popcicle
49 happy dance
50 something
这破坏了我的视图,因为名称是未定义的
TL/DR我需要知道为什么余烬数据有这个空白列表,以及如何消除它,或者如何在视图中进行条件迭代,以便未定义的名称不会破坏我的应用程序
以下是我的视图代码,以备参考:
<script type="text/x-handlebars" data-template-name="lists">
<div class="left-nav">
{{partial "listNav"}}
</div>
{{outlet}}
</script>
<script type="text/x-handlebars" data-template-name="_listNav">
<h4> Lists </h4>
<div class="column-span2 left-nav">
<ul>
{{#each list}}
<li>
{{name}}
</li>
{{/each}}
</ul>
{{#link-to "lists.new"}}Create List{{/link-to}}
</div>
</script>
{{partial“listNav”}
{{outlet}}
列表
{{{#每个列表}
-
{{name}}
{{/每个}}
{{{#链接到“lists.new”}创建列表{{/link to}
我注意到一些事情:
- 您的模型挂钩没有return语句()
- 您似乎试图返回两个东西,
和user
。(可能您需要RSVP.hash:)list
- 调用store.find(type,id)将查找单个资源,而不是集合
响应应显示单个列表<代码>/lists应显示所有列表/lists/:id
- 您使用的是
,而不是应用程序路由器
,这可能是您想要的列表(索引)路由器
/lists/:id
实际上是指向/user/:id/lists
,因为列表属于用户。