我的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),但不要认为它与它有任何关系。
谢谢!