0

我在客户端使用 Ember-Data 并在服务器端使用 ruby​​ 从 postgres SQL 数据库中获取数据,

当我App.Person.findAll(App.Person)从服务器端执行时,我将返回一组 ruby​​ 哈希对象

现在当我这样做console.log(typeof App.Person.findAll(App.Person))'object'

但是当我在车把中使用它时,

//Here I set in my ArrayController this.set('content', App.Person.findAll(App.Person));
{{#collection contentBinding="content"}} 
  Name: {{view.content.name}}
{{/collection}}

它打印所有名称,就好像我们正在迭代一个对象数组一样,ember 是否将对象转换为数组?

4

1 回答 1

2

尝试使用 App.Person.findAll(App.Person).toArray() 查看记录数组,并将 record.toJSON()记录视为对象;IE

App.Person.findAll(App.Person).map(function(record) { 
    return record.toJSON();
}

findAll() 返回的结果是RecordArrayhttps ://github.com/emberjs/data/blob/master/packages/ember-data/lib/system/store.js#L378

https://github.com/emberjs/data/blob/master/packages/ember-data/lib/system/record_arrays/record_array.js

RecordArrayextends ArrayProxy,它继承了该toArray()方法。

于 2012-11-19T15:29:06.703 回答