0

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
4

1 に答える 1

1

すべてのコメントの後、このエラーに遭遇した他の人のために、回答を投稿します。

したがって、解決策は、ルートの名前を次のように変更することです。

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

お役に立てて嬉しいです :)

于 2013-06-18T18:53:38.843 に答える