Ember-data,hasMany关系,加载子集合,嵌套路由
我需要从带有ember-data及其默认REST适配器的rails后端加载模型。 我有一个与另一个有很多关系的模型:
App.Post = DS.Model.extend({ title: DS.attr("String"); comments: DS.hasMany('App.Comment', {keys: 'post_ids', embbeded: true}); }) App.Post = DS.Model.extend({ body: DS.attr("String"); post: DS.belongsTo('App.Post'); })
服务器返回的JSON模型如下
{ title: "a title", comment_ids: [1,2,3,4] }
出于效率原因,我首先需要加载所有post而无需加载相关注释。 我这样做
App.store.findAll('App.Post');
而且,当我选择一个特定的post时,我需要加载所有评论。 在ember-data文档中,据说我只需要调用
a_specific_post.get('comments')
什么时候,我这样做,我得到一个很长的URL与所有评论ID:
GET : /comments?ids%all_ids_appended_here
当然它不起作用,如果我有一千条评论,url非常长。
是否有可能获得与rails的嵌套路由模型匹配的请求? :
GET /posts/post_id/comments
插件路由管理器https://github.com/ghempton/ember-routemanager似乎就是这种路由。 我可以将它与ember-data一起使用吗?
谢谢
如果您只指定注释ID,我不确定嵌入式是您想要的。 期望在post模型的JSON表示中传递完整的评论对象。