2

[アップデート]

これまでご協力いただきありがとうございました。

静的データを含む Comment レコードが埋め込まれた新しい Post レコードを作成できました。この方法を介して:

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

          }

      }

    });

しかし、既存の Post に Comment レコードを作成するために、CommentsController または Route を介して現在の Post を取得する方法がわかりません。

ランダムな SO と記事を検索してふるいにかけた後、現在の Post を呼び出すための一連のメソッドを試しましたが、まだダイスはありません。

私はに設定しようとしまし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'),

私もCommentsController持つように設定しましneeds: "post"た。

私も追加しようとしました:

    App.CommentsRoute = Ember.Route.extend({
        afterModel: function() {
            this.set('post', this.modelFor('post'));
        }
    });

アクションもルートで定義する必要があると述べた記事を読みましたが、でaddComment関数を定義する必要がありますPostRouteか?

var post = App.Post.find(post)使用する必要があるか、その性質のものを使用する必要があるかどうか疑問に思っています。

私はここで正しい軌道に乗っていますか?ほうきのクローゼットにいる象を暗闇の中で撮影していて、まだ行方不明になっているような気がします...

4

2 に答える 2

0

これを試して

レコードを保存するときにポストコントローラーでこれを使用します

post.save().then(function(post)     {self.transitionToRoute('comment.create', record);});

次に、コメントコントローラーで

 var post = this.get('comment').create();
于 2014-03-19T14:44:38.217 に答える