[英]EmberJS loading child records
我正在嘗試加載帖子的回復列表(帖子有許多回復)。 感覺不對,因為我沒有用於響應的路由或控制器(我通過 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}}
訪問該帖子的回復。 這是正確的方法嗎? 我覺得這不是因為我正在控制器中為帖子創建響應。
在你的帖子把手模板中,你會做這樣的事情
{{#each post in controller}}
{{#each response in post.responses}}
{{response.response_content}}
{{/each}}
{{/each}}
只要確保上面模板的控制器是一個 ArrayController
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.