Ember:在保存模型时使用JSON中的Underscore模型名称

时间:2015-10-06 11:58:03

标签: javascript json ember.js

我的Ember + Rails应用程序出现问题。

我有一个名为GuestGroup的模型。我使用ActiveModelAdapter连接到我的Rails后端。当我将模型保存到我的后端时,Ember发送以下json:

{guestGroup: {title: "test", wedding: "1"}}

如您所见,模型名称位于camelCase中。但我希望它是snake_case:

{guest_group: {title: "test", wedding: "1"}}

我有两个问题:

  1. 为什么ActiveModelAdapter不会将模型名称转换为snake_case?它 从服务器读取下划线的JSON没有问题。
  2. 如何发送我的模型名称下划线?

1 个答案:

答案 0 :(得分:0)

我的模型有一个自定义适配器。我的自定义适配器正在扩展RESTAdapter - 这是错误的。现在我扩展ActiveModelAdapter并且它工作正常:

import UrlTemplates from "ember-data-url-templates";
import ActiveModelAdapter from 'active-model-adapter';

export default ActiveModelAdapter.extend(UrlTemplates, {
  urlTemplate: '{+host}/weddings/{weddingId}/guest_groups{/id}',
  findUrlTemplate: '{+host}/guest_groups/{id}',

  urlSegments: {
    weddingId(type, id, snapshot, query) {
      return snapshot.belongsTo('wedding', { id: true });
    }
  }
});