我有一个资源,我从服务器/项目列出我的所有项目.您可以访问去/ projects /:slug的特定项目.
当我访问项目资源时,我在Ember Inspector中看到了这些数据:
/项目
id | Slug | Title | ------------------------------------------------- 1 | first-project | First project | ------------------------------------------------- 2 | second-project | Second project | ------------------------------------------------- 3 | third-project | Third project |
当我从项目列表中访问项目时,我得到相同的数据,没有新的ajax请求,一切正常. /项目/第一项目
当我刷新/ projects / first-project页面时出现问题. Ember发出一个从服务器获取数据的ajax请求,但它也插入了一个空行,其中slug作为数据的id.
id | Slug | Title | ------------------------------------------------------------- first-project | | | ------------------------------------------------------------- 1 | first-project | First project |
现在访问项目列表它显示了一个项目列表,但在列表的顶部是这个空行.为什么要将这个slug行插入我的数据?也许我的逻辑错了.
<li> <a id="ember451" class="ember-view" href="/projects/undefined"> <script id="Metamorph-13-start" type="text/x-placeholder"></script> <script id="Metamorph-13-end" type="text/x-placeholder"></script> </a> </li>
我的项目代码:
App.Router.map(function() { this.resource('project',{ path: '/projects' },function() { this.resource('project.show',{ path: ":post_slug"}); }); }); App.Project = DS.Model.extend({ slug: DS.attr("string"),title: DS.attr("string") }); App.ProjectIndexRoute = Ember.Route.extend({ model: function() { return this.store.find('project').then(function(data) { return data; }); } }); App.ProjectShowRoute = Ember.Route.extend({ model: function(params) { return this.store.find('project',params.post_slug).then(function(data) { return data; }); },serialize: function(model) { return { post_slug: model.get("slug") }; } });
我正在使用:
DEBUG: ------------------------------- DEBUG: Ember : 1.1.2 DEBUG: Ember Data : 1.0.0-beta.3 DEBUG: Handlebars : 1.0.0 DEBUG: jQuery : 1.9.1 DEBUG: -------------------------------
解决方法
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。