Ember.js 在一条路线上混合不同的模型

Ember.js 在一条路线上混合不同的模型,ember.js,ember-data,Ember.js,Ember Data,我们正在将余烬与余烬数据一起使用,并通过以下设置解决: 有一个父对象(Epic),它有许多子对象(UserStory)。我们使用余烬数据对此进行了相应的建模: App.Epic=DS.Model.extend({ 名称:DS.attr(“字符串”), 描述:DS.attr(“字符串”), 项目:DS.belongsTo(“应用程序项目”) }); App.UserStory=DS.Model.extend({ 名称:DS.attr(“字符串”), 描述:DS.attr(“字符串”), 目标:DS

我们正在将余烬与余烬数据一起使用,并通过以下设置解决:

有一个父对象(
Epic
),它有许多子对象(
UserStory
)。我们使用余烬数据对此进行了相应的建模:

App.Epic=DS.Model.extend({
名称:DS.attr(“字符串”),
描述:DS.attr(“字符串”),
项目:DS.belongsTo(“应用程序项目”)
});
App.UserStory=DS.Model.extend({
名称:DS.attr(“字符串”),
描述:DS.attr(“字符串”),
目标:DS.attr(“字符串”),
优点:DS.attr(“字符串”),
epic:DS.belongsTo(“App.epic”)
});
我们现在想要实现的是,我们有一个独立的表单列表,可以编辑
Epic
及其所有
UserStories
。显然,我们只需通过
RESTAdapter
交付所有
UserStories
以及
Epic
。但我们担心这会导致丑陋的更新场景:更改一个
UserStory
会触发整个
Epic
及其所有
UserStories
的更新。在我们的体系结构中,
UserStory
是一个独立的实体,应该由dedidacted REST服务维护

作为一名余烬新手,我们希望实现以下几点:

  • 通过余烬数据加载
    Epic
  • 扩展
    EpicController
    以将所有
    UserStories
    加载到单独的模型-(列表)中
  • 通过专用表单更改
    Epic
    将触发对
    Epic Rest服务的更改
  • 魔术:对单个
    UserStory
    表单的更改将触发对
    User Story Rest服务的单独更改

如何才能实现这种魔力?

看看控制器的方法:


这有点尴尬,但我想要的正是余烬数据在默认情况下的行为。我所需要做的就是让
Epic
REST服务提供
UserStory
id,而不是内联对象。Ember将一次性获得所有的孩子-URL设置有点难看,但很有效-并将使用
UserStory
rest服务来完成放置

余烬有一个陡峭但令人满意的学习曲线

谢谢你的反馈


Stefan

这似乎是侧向加载的主要用例,即在与Epic相同的API调用中交付用户故事集,但作为单独的数组而不是嵌套。