2014-10-27 53 views
0

我有两个模型 - 会话和测试(ember-data)
一个会话has_many测试。emberdata访问服务器的其他数据

问题是,在从服务器返回的JSON中(无法更改)在会话对象中没有test_ids,因此我无法在模型中使用它。

我希望有能力的时候,我去#/会话/ 4 - 有余烬在另一台服务器API调用来<server_address>/rest/sessions/4/tests,并把它在一个“试验”性质

当前的代码:

App.Session = DS.Model.extend({ 
    logicalId: DS.attr('string'), 
    ..... 
// tests: DS.hasMany('test', {async: true}) - wish I could do this 
}); 


App.SessionSerializer = DS.ActiveModelSerializer.extend({ 
    normalizePayload: function(payload) { 
     payload.sessions = payload.result; 
     delete payload.error; 
     delete payload.result; 
     delete payload.metadata; 
     return payload; 
    } 
}); 

回答

0

你可以尝试重写buildURL创建您需要为您的具体情况正确的URL,this answer should help you

+0

你觉得http://stackoverflow.com/questions/21964155/override-buildurl-method-to-include- parent-models-id是一个更好的解决方案? – Boaz 2014-10-29 09:49:51

+0

你可以建立一个可以与这两个答案一起工作的东西。 – Asgaroth 2014-10-29 12:54:21