2015-10-06 23 views
1

我的Ember + Rails应用程序出现问题。Ember:保存模型时在JSON中下划线的名称

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

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

正如你所看到的,型号名称是驼峰。但我希望它是snake_case:

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

我有2个问题:

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

的ActiveModelAdapter绝对应该这样做,你...你能提供一些更多的代码,至于你是如何发送此JSON?你有适配器或串行器的任何自定义设置?什么版本的Ember?在最新版本的Ember中,ActiveModelAdapter是它自己的插件,并且不再默认包含在内。 – bmeyers

+0

@bmeyers你是对的,问题是我有一个自定义适配器为该模型(我需要覆盖Ember POST JSON创建新记录的URL)。如果我删除适配器一切正常。 Ember 2.0,Ember-Data 2.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 }); 
 
    } 
 
    } 
 
});

相关问题