通常の方法で表示している投稿のリストがあります。
App.PostsController = Ember.ArrayController.extend()
{{#each controller}}
{{title}}
{{body}}
{{/each}}
今、投稿に投票する機能を追加しようとしていました。そこで、これを PostController に追加して、テンプレートで次のように参照しようとしました。
App.PostsController = Ember.ArrayController.extend(
itemController: 'post'
)
App.PostController = Ember.Controller.extend(
upvote: ->
# some code to upvote
)
{{#each controller}} # Note, also tried each post in controller
{{title}}
{{body}}
<a {{action upvote}}>Upvote</a>
{{/each}}
ただし、これは既存のテンプレートを完全に壊したようです。HTML と CSS はすべて読み込まれます。json はサーバーからまだ返されていますが、コンテンツは表示されていません。itemController を追加すると、ArrayController とのバインディングが壊れているようです。
重要なステップが抜けているように感じますが、それが何であるかわからず、API ガイドには追加の指示がありません。