经过一整天的尝试后,我放弃了。对于 ember.js 中的一个非常基本的应用程序,我尝试向服务器设置一个 ajax 请求,该请求以正确的回复进行回答。问题不是从显示在阵列控制器模板中的服务器获取模型数据(custom_route)。但我无法获取的是相关模型(站)的数据。两种模型定义如下:
App.CustomRoute = DS.Model.extend({
name: attr('string'),
description: attr('string'),
stations: DS.hasMany(App.Station)
});
App.Station = DS.Model.extend({
name: attr('string'),
description: attr('string'),
stations: DS.hasMany(App.Station)
});
在将 {async: true} 作为参数添加到这两种方法后,使用 FixtureAdapter 一切正常。但是使用默认的 RESTful 适配器,我唯一显示的是来自 custom_route 模型的数据。这引出了我的问题: ajax 回复看起来如何像适配器从两个模型中获取数据一样。在网上,我找不到如何回复 findAll() 请求来解析模型及其相关模型的示例。我发现的所有内容都仅举例说明了如果触发了对单个模块的请求,我尝试过的回复应该是什么样子(包括旁加载)
{
"custom_routes": [
{
"custom_route": {
"id": 1,
"name": "Route 1",
"description": "Description 1",
"station_ids": [
1,
2,
3
]
}
}
],
"stations": [
{
"id": 1,
"name": "Station 1",
"description": "Description 1",
}
]
}
但这没有用。但是,如果模型的单个表示的键名“custom_route”位于“custom_routes”条目的左侧,则会显示。希望有解决该问题的方法,并希望我的英语足以描述该问题。我既不是母语人士,也不是长期的网络开发人员。但期待改善两者:)