Ember.js 子记录与余烬模型 [更新]
谢谢你迄今为止的帮助 我已经能够创建一个新的Post记录,其中嵌入了带有静态数据的注释记录。通过这种方法:Ember.js 子记录与余烬模型 [更新],ember.js,firebase,ember-model,Ember.js,Firebase,Ember Model,谢谢你迄今为止的帮助 我已经能够创建一个新的Post记录,其中嵌入了带有静态数据的注释记录。通过这种方法: App.CommentsController = Ember.ArrayController.extend({ needs: "post", actions: { addComment: function() { var post = App.Post.create({
App.CommentsController = Ember.ArrayController.extend({
needs: "post",
actions: {
addComment: function() {
var post = App.Post.create({
title: 'static post'
});
post.get('comments').create({
message: 'static message'
});
post.save();
}
}
});
但是我没有弄清楚如何通过CommentsController或Route检索当前帖子,以便在已经存在的帖子上创建评论记录
在搜索和筛选了随机的SOs和文章之后,我尝试了一系列方法来调用当前帖子,但仍然没有骰子
我已尝试将var post=App.post.create
设置为:
var post = App.Post.find(),
var post = this.get('controllers.post.model'),
var post = this.get('controllers.post.content'),
var post = this.get('controllers.post'),
var post = this.get('post'),
我还将我的commentscoontroller
设置为具有需求:“post”
我还尝试添加:
App.CommentsRoute = Ember.Route.extend({
afterModel: function() {
this.set('post', this.modelFor('post'));
}
});
我读了一篇文章,指出应该在路由中定义指定的操作,我是否需要在PostRoute
中定义我的addComment
函数
我想知道我是否需要使用var post=App.post.find(post)
或类似的东西
我走对了吗?感觉就像我在黑暗中对着扫帚柜里的大象拍照,但仍然没有看到……我使用带有内置RestaAdapter的Ember型号,但应与您的适配器兼容:
// to add a post
var post = App.Post.create() // assuming your App.Post is your model class
// to add a comment inside it
var comment = post.get('comments').create()
为了节省,我使用
post.save()
因为我将评论嵌入到帖子中。如果没有,请尝试对已创建的注释对象调用save():
comment.save()
post.save()
试试这个
在post控制器中,保存记录时使用
post.save().then(function(post) {self.transitionToRoute('comment.create', record);});
然后在控制器中添加注释
var post = this.get('comment').create();
到目前为止,我已经成功地创建了嵌入静态内容的子记录。我一直试图找到或加载一个现有的帖子来添加评论,但没有成功。