1

经过一整天的尝试后,我放弃了。对于 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”条目的左侧,则会显示。希望有解决该问题的方法,并希望我的英语足以描述该问题。我既不是母语人士,也不是长期的网络开发人员。但期待改善两者:)

4

1 回答 1

0

Ember Data 在 RC 13 和 1.0 之间进行了重大更改,请参阅过渡

https://github.com/emberjs/data/blob/master/TRANSITION.md

额外的重大更改。

于 2013-10-15T01:04:24.703 回答