在Ember模型中,当它与Ember模型的属性名称不同时,如何指定api对象属性的名称?

时间:2015-03-04 16:27:13

标签: ruby-on-rails api ember.js ember-data

我正在尝试为我的Style模型设置hasMany关系(hasMany('color_style')),根据我对文档的理解,它在ColorStyle实例上查找style属性,但我的api正在发送属性style_id,而不是样式。如何告诉ColorStyle模型将api中的style_id属性读入本地模型的style属性(并在发送请求时将其翻译回来)?

来自api的JSON:

{
    id:1,
    color_id:1,
    style_id:1,
    customer_id:1,
    active_flag:null,
    created_at:"2015-02-13T22:35:23.857Z",
    updated_at:"2015-02-13T22:35:23.857Z"
}

Ember模特:

App.ColorStyle = DS.Model.extend({
    color:    DS.belongsTo('color'),    // should be tied to color_id from api
    style:    DS.belongsTo('style'),    // should be tied to style_id from api
    customer: DS.belongsTo('customer'), // should be tied to customer_id from api
    active_flag: DS.attr('boolean'),
    created_at:  DS.attr('date'),
    updated_at:  DS.attr('date')
});

1 个答案:

答案 0 :(得分:0)

您可以添加自定义序列化程序,但如果您避免这样做,您的代码会更清晰:

http://emberjs.com/api/data/classes/DS.RESTSerializer.html http://emberjs.com/api/data/classes/DS.RESTSerializer.html#method_extractSingle