Ember.js 余烬模型失配

Ember.js 余烬模型失配,ember.js,ember-data,Ember.js,Ember Data,我想通过多个维度帮助定义费率。在后端使用一个表,该表有两个重要的列key和value。值包含json数据。这样可以方便地以多种方式定义费率。下面显示了一种这种可能性 key - user:1 value - [ { "id": 1, "activity": 1, "effectiveDate": null, "rate": { "currency": "currency:1", "amount": 10 } }, {

我想通过多个维度帮助定义费率。在后端使用一个表,该表有两个重要的列key和value。值包含json数据。这样可以方便地以多种方式定义费率。下面显示了一种这种可能性

key - user:1
value - 
[
  {
    "id": 1,
    "activity": 1,
    "effectiveDate": null,
    "rate": {
      "currency": "currency:1",
      "amount": 10
    }
  },
  {
    "id": 2,
    "activity": 2,
    "effectiveDate": null,
    "rate": {
      "currency": "currency:1",
      "amount": 20
    }
  }
]
在UI上,这需要跨多行显示。唯一性由用户、活动和生效日期定义。 因此——

user,  activity,  effectivedate, currency,   amount
user:1 activity:1                currency:1, 10
user:1 activity:2                currency:1, 20
因此,模型如下所示:

export default DS.Model.extend({
  userId: DS.attr('string'),
  activityId: DS.attr('string'),
  rateAmount: DS.attr('number'),
  effectiveDate: DS.attr('date'),
  rateCurrencyId: DS.attr('string'),
});
如何将单个键值从API转换为上面显示的模型?前端记录的删除并不一定意味着键值的删除

我是否应该创建两个模型,一个对应于UI,另一个对应于键值,并将更新从一个模型转换到另一个模型,然后保存第二个模型以将其推回服务器?这似乎很麻烦

我选中了transform,但如果必须调整数据类型,这会有所帮助。这里的模型记录数量不匹配


在ember中处理此类场景的正确方法是什么?

您需要创建特定于模型的序列化程序,并将其覆盖并转换为所需的模型格式

export default DS.Model.extend({
  userId: DS.attr('string'),
  activityId: DS.attr('string'),
  rateAmount: DS.attr('number'),
  effectiveDate: DS.attr('date'),
  rateCurrencyId: DS.attr('string'),
});

谢谢你的回复。如果两者之间有一对一的映射,Serializer是非常好的。在这里,API响应将导致余烬模型的多个记录。序列化程序仍然适用吗?是的,在您的情况下仍然适用。您只能定义一个模型来表示服务器发送的所有属性。假设用户删除一条记录。然后,ember将发出一个删除,id为已删除的记录。在这里,实际的请求不应该是删除,而应该是帖子。如何在序列化程序中将删除请求转换为POST?当我们尝试那个样做的时候,我们不是违反了序列化程序的目的吗?@shamanthGowdraShankaramurthy若我理解正确的话,那个么你们就可以做到这一点,并没有任何错误。参考ds改进的ajax功能,但不幸的是他们支持