2013-08-19 14 views
5

Non ho trovato una risposta soddisfacente attraverso la mia ricerca, quindi ho pensato di chiedere qui.Creazione di record figlio in hasMany Relationship with Ember.Js

Attualmente sto utilizzando Ember.Js, Ember-Data e Ember-Firebase-Adapter e sto tentando di creare un'applicazione CRUD che creerà un record padre e quindi i successivi record figlio in detti record padre.

(si noti che DS.Firebase.LiveModel è l'adattatore equivalente Firebase di DS.Model/Ember.Model)

Qui sono i miei modelli, modificati per essere tipi generici Post/commento

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"}) 
    }); 

(? Se la mia post_id = post)

E qui è il mio percorso per la creazione di Comments:

App.PostsCommentRoute = Ember.Route.extend({ 
     setupController: function(controller) { 
     controller.set('content', App.Comment.find()); 
     } 

    }); 

Ecco il mio controller per il 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); 


     } 
    }); 

credo di mancare il serializzatore? E ho letto diverse cose su addArray ma le cose che ho provato a collegare non si sono rivelate proficue. Perché i miei commenti sono buoni, tuttavia non sono associati al post in alcun modo nel mio JSON.

C'è un modo per il Comments creato per trovare il relativo Post_Id e quindi associare a detto Post quando viene creato? Quindi il mio JSON Post ha una matrice di Comment_Ids che quindi consente loro di essere visualizzati con il post?

Qualsiasi aiuto o collegamento con buoni esempi sarebbe molto apprezzato. So che questo è un dilemma relativamente semplice eppure Sono stato bloccato su di esso per qualche tempo: p

risposta

4

Che cosa si può provare a fare è questo

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() 

Speranza che aiuta

Problemi correlati