Ember camelCase属性未加载

时间:2014-06-02 09:52:00

标签: json ember.js camelcasing

我的Ember路由器每5秒钟对服务器发送一个photos JSON文件(长轮询)。如果照片ID尚不存在,它会循环遍历JSON并将(使用EmberData' s push)照片添加到商店。使用Yoran Brondsema描述的工作流程。

JSON文件中的一个片段:

...
{
  "id": 45,
  "created_at": "2014-06-02T08:10:29.000Z"
}
...

Ember.js将created_at snake_case转换为createdAt camelCased版本,当我重新加载页面时,一切看起来都很好。 Handlebars模板中提供了{{createdAt}}。但...

当轮询器将照片模型添加到商店时,createdAt camelCased属性未定义。当我使用camelCasing将JSON文件中的字段重命名为createdAt时,它可以正常工作。

当我推到商店时,我不应该期望camelCased属性存在吗?商店过时了吗?这是Ember没有转换属性的时间问题吗?

我的商店适配器如下所示:

App.ApplicationStore = DS.Store.extend({});
App.ApplicationAdapter = DS.ActiveModelAdapter.extend({
  namespace: 'api'
});

它是一个Rails后端(使用ActiveModel :: Serializer),但不要认为它与它有任何关系。

谢谢!

1 个答案:

答案 0 :(得分:1)

发现它,问题中提到的post的代码不使用Ember Data RESTAdapter,因此Ember不会从JSON响应中转换snake_cases。