Ember.js 通过API端点加载原始数据,让Ember将其转换为相应的模型
我希望Ember(和数据)从API端点请求模型,但将原始数据转换为模型,以便Ember可以透明地使用它 问题 当页面加载时,我们通过许多API端点加载数据。我们还通过Pusher将数据推送到页面。为了将原始数据转换整合到单个位置,我们决定将该逻辑放在客户机上。当我们将新数据推送到页面时,我们有一个实用方法,可以将该数据转换为交互记录 现在,我们还需要转换服务器通过AJAX请求传递给页面的原始数据。它需要通过相同的实用程序方法,但我不确定从哪里截取来自API的响应,以便正确地转换数据。我应该在哪里寻找,我可以使用什么方法 原始数据将根据其信息类型而有所不同,但这里有一个示例:Ember.js 通过API端点加载原始数据,让Ember将其转换为相应的模型,ember.js,ember-data,Ember.js,Ember Data,我希望Ember(和数据)从API端点请求模型,但将原始数据转换为模型,以便Ember可以透明地使用它 问题 当页面加载时,我们通过许多API端点加载数据。我们还通过Pusher将数据推送到页面。为了将原始数据转换整合到单个位置,我们决定将该逻辑放在客户机上。当我们将新数据推送到页面时,我们有一个实用方法,可以将该数据转换为交互记录 现在,我们还需要转换服务器通过AJAX请求传递给页面的原始数据。它需要通过相同的实用程序方法,但我不确定从哪里截取来自API的响应,以便正确地转换数据。我应该在哪里
{
"created_at": "Wed May 01 18:32:43 +0000 2013",
"id": 329664697345384448,
"id_str": "329664697345384448",
"text": "@steveWINton true dat",
"user": {
"created_at": "Thu Feb 14 13:07:51 +0000 2008",
"id": 13470142,
"id_str": "13470142",
"name": "uo\u0287u\u0131\u028d\u01dd\u028c\u01dd\u0287s",
"screen_name": "NOTsteveWINton"
}
}
需要将其转换为以下格式:
Social.Interaction = DS.Model.extend({
native_id: DS.attr("string"),
screen_name: DS.attr("string"),
name: DS.attr("string"),
text: DS.attr("string")
});
当页面加载时,我们将传入一个交互ID列表。然后,Ember将通过点击InteractionsAPI端点来侧向加载完整数据。该部分不会改变其当前的工作方式
我们想要的是能够将原始数据从交互端点传递到页面,而不是模型的“最终”版本。刚刚做了手术,所以我现在是一个简短的回答者。您需要创建一个自定义序列化程序,可能是每种类型
请参阅:您是否可以使用vanilla$.ajax进行投票,并在完成上面提到的“转换”后进行推送
var json = do_something_to_transform_it_here();
store.serializerFor('interaction').pushSinglePayload(store, 'interaction', json);