试图在把手中显示来自XHR请求的api数据

时间:2013-06-18 17:35:40

标签: ember.js

我通过XHR请求将api中的组列表拉入我的Ember应用程序。我试图在groups / index.hbs模板中显示该列表。在模板中我有:

<h1>GROUPS INDEX</h1>
{{#each group in controller}}
  {{ group.name }}
{{/each}}
{{outlet}}

我收到以下错误:

Uncaught Error: assertion failed: an Ember.CollectionView's content must implement Ember.Array. You passed <(generated groups.index controller):ember226>

对象数组正在加载正常。我只是不能把它们放在把手里。

我错过了什么?

修改

groups_route.js.coffee

Mdm.GroupsRoute = Ember.Route.extend(model: ->
  Mdm.Group.all()
)

router.js.coffee

Mdm.Router.map ->
  @resource 'groups', ->
    @resource 'group', path: ':group_id'

Mdm.Router.reopen
  location: 'history'

group.js.coffee

Mdm.Group = Ember.Object.extend()

Mdm.Group.reopenClass
  all: ->
    Mdm.ajax(
      url: Mdm.apiUrl('/groups')
    ).then (data) ->
      console.log data
      groups = []
      for group in data.response
        groups.addObject(Mdm.Group.create(group))
      console.log(groups)
      groups

1 个答案:

答案 0 :(得分:1)

在所有评论之后,对于其他任何绊倒此错误的人,我都会发布一个答案。

因此,解决方案是将您的路线重命名为:

Mdm.GroupsIndexRoute = Ember.Route.extend(model: ->
  Mdm.Group.all()
)

很高兴我能提供帮助:)。