【问题标题】:Creating hasMany relationships in a single form以单一形式创建 hasMany 关系
【发布时间】:2013-10-28 12:54:03
【问题描述】:

我正在使用 Ember.js 1.0 和 Ember-Data 1.0beta。我有一个具有hasMany 关系的模型:

Whistlr.Activity = DS.Model.extend
  participants: DS.hasMany('activityParticipant')

我希望客户能够直接在activity 表单中添加participants,但我不知道如何在模板中表达这一点。具体来说,我将如何编写 valueBindings?比如:

Em.TextField valueBinding="participant[2].name"

【问题讨论】:

    标签: ember.js emblem.js


    【解决方案1】:

    你面前的问题是:

    http://jsbin.com/oDOsoqA/4/edit

    有很多事情可能适合您的情况。在这种情况下,他处于列表模型中,并且他渲染了列表中的所有任务(每个任务都有要编辑的内容)等等。

    {{render 'task' tasks}}
    

    【讨论】:

    • 据我所知,这种方法是在一个主表单中放置几个​​子表单。每当客户端将数据输入到子表单(例如评论)中时,该数据就会立即通过存储传播。有没有办法等到客户端提交主表单后再提交所有子表单,最好是作为嵌套的 json 对象?我怀疑这真的很复杂,但如果你知道一个例子,它会很高兴有机会查看源代码。
    • 您可以使用 ember 数据(或模型)并将模型保存在主表单保存中,而不是使用表单提交。你打算真正使用 Ember 的哪一部分?
    • 我正在使用 Ember 数据。当我基于您提供的 jsbin 表单时,我能够按预期创建多个子对象。问题是当我提交表单时,Ember 不会为这些子对象发送数据,而只是为父对象发送数据。关于将所有这些数据嵌套到单个有效负载中的任何建议?
    • Ember-Data 似乎还不支持此功能。不过,有几种方法可以获得它。如果您使用 ActiveModelSerializer(用于 Rails 支持),您可以使用代码 here。如果您使用的是 JSONAdapter 或 RESTAdapter,您可以找到代码 here。不管怎样,感谢您的帮助。这对于解决这个问题的前半部分至关重要。
    猜你喜欢
    • 2021-03-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-07-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多