1

次の親テンプレートがあります

{{render 'form' this}}

および次の部分テンプレート

<form>
   ...
</form>
<a href='#' {{action 'cancel'}}>{{buttonTitle}}</a>

これbuttonTitleは親コントローラーから来ていますがcancel、同じコントローラーで定義されているアクションはバインドされていません。私は何を間違っていますか?

4

1 に答える 1

7

templateあなたが望むのは、現在のコンテキストでテンプレートをレンダリングするヘルパーだと思います。

renderヘルパーは、関連付けられたコントローラーを使用してテンプレートをレンダリングします。たとえば、次のようにします。

{{render "sidebar"}}

sidebarを使用してテンプレートをレンダリングしますApp.SidebarController

あなたがした場合:

{{render "post" post}}

これは、コントローラのモデルとしてcurrentpostを使用してテンプレートをレンダリングします。App.PostControllerpost

これらのサブコントローラーがイベントをバブルアップしないのはバグでしたが、そもそもこの動作を望んでいたとは思いません。(更新このバグはマスターで修正されました)

今後数週間のうちに、命名と使用法をより明確にする予定です。

于 2013-01-11T06:53:12.203 に答える