2

我们将 Ember 与 Ember-Data 一起使用,并且被以下设置难住了:

有一个父对象 ( Epic),它有多个子对象 ( UserStory)。我们使用 ember-data 对此进行了相应的建模:

App.Epic = DS.Model.extend({
    name: DS.attr("string"),
    description: DS.attr("string"),
    project: DS.belongsTo("App.Project")
});

App.UserStory = DS.Model.extend({
    name: DS.attr("string"),
    description: DS.attr("string"),
    goal: DS.attr("string"),
    benefit: DS.attr("string"),
    epic: DS.belongsTo("App.Epic")
});

我们现在想要实现的是,我们有一个独立表单列表来编辑Epic内联的所有UserStories. 显然,我们将简单UserStoriesEpic通过RESTAdapter. 然而我们担心这会导致丑陋的更新场景:更改一个UserStory会触发整个更新Epic及其所有UserStories. 在我们的架构中,aUserStory是一个独立的实体,应该由专门的 REST 服务维护。

作为 ember 新手,我们希望实现以下方面的内容:

  • Epic通过 ember-data加载
  • 扩展以EpicController将所有内容加载UserStories到单独的模型(列表)中。
  • Epic通过专用表单更改Epic Rest Service.
  • 魔法:对个体UserStory形式的改变会引发对User Story Rest Service.

魔法是如何实现的?

4

2 回答 2

1

看一下controllerFor方法:

http://emberjs.com/guides/routing/setting-up-a-controller/

于 2013-03-06T14:49:08.207 回答
0

这有点尴尬,但我想要的是 ember-data 在默认情况下的行为方式。我需要做的就是让EpicREST-Service 提供UserStoryid 而不是内联对象。Ember 将一次性获取所有子节点 - URL 设置有点难看但有效 - 并将使用UserStoryrest-service 进行放置。

Ember 有一个陡峭但令人满意的学习曲线。

感谢您的反馈意见。

斯特凡

于 2013-03-07T16:03:39.370 回答