0

投稿に対する応答のリストを読み込もうとしています (投稿には多くの応答があります)。応答用のルートまたはコントローラーがないため、気分が悪くなります (posts_show コントローラーの関数を介して応答を作成します)。の投稿に対する応答のリストをロードするつもりですposts.show

ルーター:

App.Router.map(function() {
this.resource('posts', function() {
    this.route('new')
    this.route('edit', { path: '/:post_id/edit' })
    this.route('show', { path: '/:post_id' })
}),
this.resource('users', function() {
    this.route('show', { path: '/:user_id' })
})


});

したがって、私の posts.show ルートでは、投稿には多くの応答があり、応答は投稿に属しているため、その投稿のすべての応答のリストを表示したいと考えています。

App.Post = DS.Model.extend({
 title: DS.attr('string'),
 post_content: DS.attr('string'),
 author: DS.attr('string'),
 responses: DS.hasMany('App.Response'),
 updated_at: DS.attr('date'),
 announcement: DS.attr('boolean')

});

App.Response = DS.Model.extend({
 response_content: DS.attr('string'),
 response_author: DS.attr('string'),
 post: DS.belongsTo('App.Post')
})

私の posts.show テンプレートには次のものがあります。

{{#each responses}}

その投稿の応答にアクセスするには。これは正しい方法ですか?投稿のコントローラーで応答を作成しているからではないと思います。

4

1 に答える 1

1

投稿ハンドルバー テンプレートでは、次のようにします。

{{#each post in controller}}
  {{#each response in post.responses}}
    {{response.response_content}}
  {{/each}}
{{/each}}

上記のテンプレートのコントローラーが ArrayController であることを確認してください

于 2013-06-22T00:58:50.573 に答える