【问题标题】:Creating Child Records in hasMany Relationship with Ember.Js在使用 Ember.Js 的 hasMany 关系中创建子记录
【发布时间】:2013-08-19 02:03:54
【问题描述】:

我没有通过搜索找到满意的答案,所以我想我会在这里问。

我目前正在使用 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 上阅读了几篇文章,但我尝试插入的内容并没有证明是富有成效的。因为我的 cmets 创建得很好,但是它们在我的 JSON 中无论如何都没有与帖子相关联。

有没有办法让创建的Comments 找到相关的Post_Id,然后在创建时关联到所说的Post?所以我的Post JSON 有一个Comment_Ids 数组,然后允许它们与帖子一起显示?

非常感谢任何帮助或带有良好示例的链接。我知道这是一个相对简单的难题,但我已经坚持了一段时间了:p

【问题讨论】:

    标签: ember.js ember-data firebase


    【解决方案1】:

    你可以尝试做的是这个

    post = App.Post.find(1);
    post.get('comments').pushObject(App.Comment.createRecord({})); //This will add a new comment to your post and set the post_id as the post id
    App.store.commit()
    

    希望对你有帮助

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-03-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-09-26
      • 1970-01-01
      相关资源
      最近更新 更多