gpt4 book ai didi

ruby-on-rails - Ember-data、hasMany 关系、加载子集合、嵌套路由

转载 作者:行者123 更新时间:2023-12-03 04:44:10 24 4
gpt4 key购买 nike

我需要使用 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]
}

出于效率原因,我首先需要加载所有帖子,而不必加载相关评论。我这样做是用

App.store.findAll('App.Post');

而且,当我选择特定帖子时,我需要加载所有评论。在 ember-data 文档中,据说我只需要调用

a_specific_post.get('comments')

当我这样做时,我会得到一个包含所有评论 ID 的很长的 url:

GET : /comments?ids%all_ids_appended_here

当然这是行不通的,如果我有一千条评论,那么网址就会非常非常长。

是否可以获得与rails嵌套路由模型匹配的请求? :

 GET /posts/post_id/comments

插件路由管理器 https://github.com/ghempton/ember-routemanager好像是这种路由。我可以将它与 ember-data 一起使用以及如何使用吗?

谢谢

最佳答案

如果您只指定评论 ID,我不确定嵌入是否是您想要的。它期望在帖子模型的 JSON 表示形式中传递完整的评论对象。

关于ruby-on-rails - Ember-data、hasMany 关系、加载子集合、嵌套路由,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10351882/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com