我有一个初始页面,显示所有帖子。 发布尽可能多的评论,但在这个初始页面我不想显示评论。当用户点击帖子时,应用程序会转到此页面中的url posts / post / 1我想显示帖子的评论。
我的服务器有这个端点
我的服务器应为/ posts和/ comments或posts /:id / comments /?
提供分隔端点获取(获取或查找)的正确方法是什么/如何?
模型
// Post
export default DS.Model.extend({
message: DS.attr('string'),
comments: DS.hasMany('comment'),
});
// Comment
export default DS.Model.extend({
message: DS.attr('string'),
post: DS.belongsTo('post'),
});
答案 0 :(得分:0)
最好的解决方案是让您的服务器返回评论以及帖子 - 称为“sideloading”。
所以,如果您在/ post / 1上调用了GET并且该帖子有1,2和3的注释,则返回的JSON将包含“post”以及这三个注释
答案 1 :(得分:0)
当您导航到该网址“posts / post / 1”时,您可以获得动态细分值,即您的情况。 在您的模型钩子(在后期路线中)中查找具有该动态段值的注释 例如:
model: function() {
return this.store.find("comments", post_id);
}
在您的控制器中,您可以通过
访问此模型
var temp = this.get('model');