Developer’s guide to Discourse Themes の議論に続きます:
皆様、
テンプレートからアクションへパラメータを注入できるかどうか疑問に思っており、@Johani のガイドでは肯定的にも否定的にも答えが見つかりませんでした。私の目的は、テンプレートによって複数のウィジェットを生成し、それぞれのアクションが {{#each}} ループのパラメータを知るようにすることです。
例として、カテゴリ通知の多選択肢ボタンを選択した後:
<script type="text/x-handlebars" data-template-name="components/some_component">
{{#each categories as |c|}}
{{category-notifications-button
value=c.notification_level
category=c
onChange=(action "changeCategoryNotificationLevel" ***somehow_inject_c_as_a_parameter***)
}}
{{/each}}
</script>
<script type="text/discourse-plugin" version="0.8">
api.modifyClass("controller:some_component", {
actions: {
changeCategoryNotificationLevel(selected_value, ***c_as_a_parameter***) {
c_as_a_parameter.setNotification(notificationLevel);
}
}
}
});
</script>
テンプレート内から changeCategoryNotificationLevel の中で、現在どのカテゴリにいるかを知る方法はありますか?
もしない場合、私の問題が十分に明確に説明できているなら、同じ結果を達成する別の方法をご存知ありませんか?
事前にありがとうございます