Tag: 烬数据

如何将查询结果caching在余烬数据中

我想要将查询的结果caching在ember-data中。 ( findQuery ) 要说清楚:我不想caching整个模型; 只是查询的结果是什么模型。 这是正确的地方在哪里? 我想在适配器中实现这个,并cachingAJAX调用的结果,但我不认为这是一个好的解决scheme,因为我不想重载加载,也许更新和/或修改模型数据。 我不认为它可能只是返回一个ID列表,并操纵适配器和串行器这个简单的用例似乎是凌乱的! 其实我不希望findQuery被称为特定types的querys。 就像findAll的行为一样。 尼斯会像一个queryShouldBeCached钩子。 有这个好的解决scheme吗?

什么是DS.RESTAdapter的预期JSON响应的完整列表?

我正在尝试为Ember.js应用程序编写一个定制的基于express.js的服务器。 我相处得相当好,但我不断陷入困境,试图猜测Ember Data在给定时刻期待的JSON响应。 这个全新的文档是一个很好的开始http://emberjs.com/guides/models/the-rest-adapter/但不够完整。 我在黑暗中的刺伤使我明白(Ember pre4,Ember Data 11): Context Server URL Method Req. Data Resp. Data ~~~~~~~ ~~~~~~~~~~ ~~~~~~ ~~~~~~~~~ ~~~~~~~~~~ Getting a list of all users /users GET {"users":[{…},{…}]} Getting a particular user /users/123 GET {"user":{…}} Creating a user /users POST {"user":{…}} ??? Updating a user /users/123 PUT {"user":{…}} ??? Deleting a user /users/123 […]

Ember.js:通过有效载荷中的“链接”重新加载.hasMany关系

假设我有两个模型, Topic和Post : App.Topic = DS.Model.extend({ posts: DS.hasMany('post', { async: true, inverse: 'post' }); }); App.Post = DS.Model.extend({ topic: DS.belongsTo('topic', { async: true }); }); 主题有多个post,一个postbelongsTo一个主题。 要从API中加载数据,需要进行一次初始调用(例如,获取主题…主题ID 2): GET /topics/2 在接收到GET请求的有效载荷后,串行器将links关键字附加到有效载荷上。 这有路线来加载与该主题相关的post: "topic": { "id": 2, "links": { "posts": "/topics/2/posts" } } 这个第二个请求(到/topics/2/posts )是这个post是如何加载并附加到这个主题的。 这一切工作正常,当第一次加载页面。 在页面会话期间创buildpost时发生此问题 。 虽然我可以让主题本身重新加载(通过在代表主题的模型对象上调用.reload() ),但与主题相关的Posts 不会被重新加载。 第二个API调用(获取post)从来没有做过,而第一个调用(只是得到的话题) 是做的。 如果我刷新页面,我在上一页加载创build的post将加载(但当然,如果我然后去做一些更多的post,他们将不会显示,直到下一页加载)。 寻找一个解决scheme,我碰到这个问题: 如何重新加载与链接的asynchronoushasMany关系? […]

Ember js – Hasmany关系在更新其他表后中断

我正在使用本地存储适配器的Ember.js。 更新logging时我有一个奇怪的问题。 我有一个与hasMany关系的post和评论模型: App.Post = DS.Model.extend({ title: DS.attr('string'), comments: DS.hasMany('comment', { async: true }) }); App.Comment = DS.Model.extend({ message: DS.attr('string') }); 这些是我的post和评论控制器: App.PostsController = Ember.ArrayController.extend({ newTitle: '', actions: { create: function() { var title = this.get('newTitle'); var post = this.store.createRecord('post', { title: title }); this.set('newTitle', ''); post.save(); } } }); App.CommentsController = Ember.ArrayController.extend({ needs: "post", […]

如何使embedded式has有许多关系与烬数据一起工作

我无法embedded hasMany与烬数据正确工作。 我有这样的事情 App.Post = DS.Model.extend({ comments: DS.hasMany('App.Comment') }); App.Comment = DS.Model.extend({ post: DS.hasMany('App.Post'), name: attr('string') }); 而我的API返回以下GET /post : [ { id: 1 comments: [{name: 'test'}, {name: 'test2'}] }, … ] 我需要发送POST /post这个: [ { comments: [{name: 'test'}, {name: 'test2'}] }, … ] 我想与Ember模型合作,让他们提出相应的要求: var post = App.store.createRecord(App.Post, hash_post_without_comments); post.get('comments').createRecord(hash_comment); App.store.commit(); // This should […]

如何在EmberJS / Ember Data中使用单个path的多个模型?

从阅读文档看来,您必须(或者应该)将模型分配给路由,如下所示: App.PostRoute = Ember.Route.extend({ model: function() { return App.Post.find(); } }); 如果我需要在某个path中使用多个对象呢? 即post,评论和用户? 我如何告诉路线加载这些?

embedded数据embeddedlogging当前状态?

我真的坚持了由Ember-data造成的大量问题,并且缺乏对embedded式logging的支持。 我已经search了整个networking,大部分post已经过时,其他人已经过时了+需要我使用第三方库或连接300行特殊代码有很多缺点。 我不知道如何使用ember-data的embedded式logging,就像现在这样呢? 编辑:现在有一个新的文档http://emberjs.com/api/data/classes/DS.EmbeddedRecordsMixin.html