我通过搜索没有找到满意的答案,所以我想我会在这里问。
我目前正在使用 Ember.Js、Ember-Data 和Ember-Firebase-Adapter,并尝试创建一个 CRUD 应用程序,该应用程序将创建一个父记录,然后是后续子记录到所述父记录。
(注意 DS.Firebase.LiveModel 是 DS.Model/Ember.Model 的 Firebase 适配器)
这是我的模型,已更改为通用的帖子/评论类型
App.Post = DS.Firebase.LiveModel.extend({
name: DS.attr('string'),
body: DS.attr('string'),
date: DS.attr('date'),
comments: DS.hasMany('App.Comment', {embedded: 'always'})
});
App.Comment = DS.Firebase.LiveModel.extend({
message: DS.attr('string'),
timestamp: DS.attr('string'),
post: DS.belongsTo('App.Post', {key: "post_id"})
});
(我应该post_id
=post
吗?)
这是我的创作路线Comments
:
App.PostsCommentRoute = Ember.Route.extend({
setupController: function(controller) {
controller.set('content', App.Comment.find());
}
});
这是我的控制器PostsCommentRoute
:
App.PostsCommentController = Ember.ObjectController.extend({
newMessage: null,
newTimestamp: null,
saveComment: function() {
App.Pbp.createRecord({
message: this.get('newMessage'),
timestamp: this.get('newTimestamp')
})
App.store.commit();
this.set('newMessage', null);
this.set('newTimestamp', null);
}
});
我想我可能缺少序列化程序?而且我已经阅读了一些内容,addArray
但是我尝试插入的内容并没有取得成果。因为我的评论创建得很好,但是它们在我的 JSON 中无论如何都没有与帖子相关联。
有没有办法让创建Comments
的人找到相关的Post_Id
,然后Post
在创建时关联到所说的?所以我的Post
JSON 有一个数组Comment_Ids
,然后允许它们与帖子一起显示?
任何帮助或带有良好示例的链接将不胜感激。我知道这是一个相对简单的难题,但我已经坚持了一段时间了:p