我正在使用 Ember 数据并且很难弄清楚 get ember 以识别来自服务器的 JSON 响应中的嵌套属性。这是 ember-1.0.0-pre.4.js。
目前,我已经使用 Ember 数据修订版 11 设置了关联模型。这里
# School Model
App.School = DS.Model.extend
addr: DS.belongsTo('App.Addr')
name: DS.attr 'string'
status: DS.attr 'string'
# Address Model
App.Addr = DS.Model.extend
school: DS.belongsTo 'App.School'
line1: DS.attr 'string'
city: DS.attr 'string'
state: DS.attr 'string'
iso: DS.attr 'string'
这是来自我的服务器的 JSON 响应:
{"schools":
[{
"_id":"51020261bbc3b8c526000007",
"name":"Willamette",
"status":"p",
"addr":{
"line1":"122 Evergreen Terrace",
"city":"Springfield",
"state":"IL",
"iso":"US"
}
}
]}
我的适配器设置如下:
App.Store = DS.Store.extend
revision: 11
adapter: DS.RESTAdapter.create({
url: "http://localhost:8000/api"
serializer: DS.RESTSerializer.extend
primaryKey: (type) ->
'_id';
})
更新:我尝试映射 addr 属性,如下所示。还是没有骰子...
DS.RESTAdapter.map 'App.School',
addr: { embedded: 'always'}
在我的模板中,我想做这样的事情......
<script type="text/x-handlebars" data-template-name="school">
<h2>School: {{name}}</h2>
<p> Status: {{ status }}</p>
<p> Address: {{ addr.line1 }} {{ addr.city }} </p>
</script>
名称和状态属性呈现良好。但是 addr.line1 和 addr.city 是空白的。有没有办法让 Ember 识别嵌套的 addr 属性?
谢谢!