0

jsfiddle。_

posts#index テンプレートから、#linkTo ヘルパーを使用して新しいコメントを作成できます。このヘルパーは PostNewComment ルートに移動し、投稿/新規コメント フォームをレンダリングします。保存をクリックすると、PostNewComment ルート内の「保存イベント」を使用して、新しく作成されたコメントが保持されます。

post/comments」テンプレートの下の行のコメントを外して、動作することを確認できます

{{#linkTo "post.newComment"}} コメントを追加{{/linkTo}}

コントローラーの isAddingNew ボタンとレンダー ヘルパーを使用してフォームを表示するタイミングを決定するように UI を変更し、保存ボタンをクリックすると、次のようになります。

Uncaught TypeError: Cannot call method 'one' of null

これは私がそれをどのようにレンダリングするかです:

<p> {{render "post.newComment" }} </p>

レンダーヘルパーを使用した後に「保存」をクリックしたときにのみエラーがトリガーされるため、スコープの問題であると思われます。

[新しいコメントを追加] ボタンにアクセスするには:

   click  -> post -> a post title -> click comments link -> add comment

PostNewComment ルートで定義された「保存イベント」を使用するために、投稿/コメント テンプレートの「レンダー ヘルパー」を介して「投稿/新規コメント フォーム」を表示する方法はありますか。現在、そのフォームで定義されている「保存ボタン」をクリックすると、おそらくレンダリングヘルパーを介してフォームを表示するため、独自のルートではなく親ルート、つまり PostCommentsRou​​te に直接移動します。

「保存」の呼び出しは、独自のコントローラーに移動してから、階層を PostComments ルートにバブルアップしようとする前に、実際に定義されている独自のルートにバブルする必要があると思いました。

4

1 に答える 1